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