2017-03-09 33 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); }' –

相关问题