2017-03-09 21 views
0

我嘗試了一些方法:首先 我CONTROLER &創建某些情況下它們發送到形式,但是當我讓他們回到在控制器中我得到的只是最後一個。 後來我試圖用這種方式:在視圖Yii2如何將模型的多個實例發送到一個表單? &讓他們回到在控制器

$models = [new BannerAd()]; 
    for($i = 1; $i < 4; $i++) { 
     $models[] = new BannerAd(); 
    } 

後(形式): 控制器

<div class="banner-ad-main container"> 
<? 
$form1 = ActiveForm::begin(); 
echo 'One model'; 
echo $form1->field($models[0], "[0]banner_ad_url")->label($models[0]->banner_ad_img); 
echo 'Second model'; 
echo $form1->field($models[1], "[0]banner_ad_url")->label($models[1]->banner_ad_img); 
echo 'Third model'; 
echo $form1->field($models[2], "[0]banner_ad_url")->label($models[2]->banner_ad_img); 
?> 
<div class="form-group"> 
    <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 
</div> 
<? ActiveForm::end(); ?> 

但我仍然在$後得到公正的最後一個。

This is what I get

謝謝

+0

顯示所有的動作代碼,請 – scaisEdge

回答

1

對不起,我有一個錯誤。我忘了更改表格中的索引。這是正確的代碼:

echo $form1->field($models[0], "[0]banner_ad_url")->label($models[0]->banner_ad_url); 
    echo $form1->field($models[1], "[1]banner_ad_url")->label($models[1]->banner_ad_url); 
    echo $form1->field($models[2], "[2]banner_ad_url")->label($models[2]->banner_ad_url); 
+0

會,如果你使用一個循環是很好'的foreach($車型爲$ I => $模型){ 回聲$ form1->字段( $模式, 「[$ i]於banner_ad_url」) - >標記物(模型 - $> banner_ad_url); }' –

相關問題