Yii2如何将模型的多个实例发送到一个表单? &安培;让他们回到控制器

时间:2017-03-09 12:27:04

标签: php yii2

我尝试了一些方法: 首先我在controler&中创建了一些实例。把它们发送到表格但是当我把它们送回控制器时,我得到了最后一个。 然后我试着用这种方式: 在控制器中:

$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(); ?>

但我仍然只是在最后一个帖子中收到了$ post。

This is what I get

谢谢

1 个答案:

答案 0 :(得分: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);