在Yii前端应用程序中,从两个或三个模型创建表单以更新数据

时间:2016-05-06 15:43:36

标签: yii2 yii2-advanced-app

因为我是新人,所以我很困惑,我应该怎么做。 我想要在yii2前端应用程序中创建一个表单。所以我需要使用gii或只是一个控制器为它创建crud并且单个视图就足够了。

1 个答案:

答案 0 :(得分:1)

一个控制器和单个视图足以从多个模型创建一个表单,让我们说A,B和C.另外,从gii开始,你只需要生成表A,B和C中的模型(如果有关联数据库表或只是视图模型?)

控制器actionCreate

上的

$a = new A;
$b = new B;
$c = new C;

if (
$a->load(Yii::$app->request->post()) && 
$b->load(Yii::$app->request->post()) &&
$c->load(Yii::$app->request->post())
) {
   $a->save();
   $b->save();
   $c->save();
}
$this->render('form', array('a' => $a, 'b'=>$b, 'c'=>$c));

在您的表单视图中绑定

 <?= $form->field($a, 'name') ?> 
 <?= $form->field($b, 'name') ?> 
 <?= $form->field($c, 'name') ?>    

同样,您也可以管理更新和删除。

以下是从多个模型中获取数据的示例

  

http://www.yiiframework.com/doc-2.0/guide-input-multiple-models.html