如何在Yii2中以一种形式保存多个模型

时间:2016-06-06 02:37:02

标签: yii2 composer-php

我正在做一个表单,我在一个表单中输入两个模型中的数据。我的问题是如何在actionCreate()中记录数据输入并以单一形式调用这些模型。 这些是我的inscritoController.php

public function actionCreate()
{
    $model = new Inscrito();
    $modelEmpresa = new Empresa();     
    if ($model->load(Yii::$app->request->post()) && $model->load(Yii::$app->request->post()) && $modelEmpresa->save() && $modelEmpresa->save()) 
        {
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
                'modelEmpresa' => $modelEmpresa,
            ]);
        }
}

错误:

PHP注意 - yii \ base \ ErrorException

未定义的变量:modelEmpresa

2 个答案:

答案 0 :(得分:0)

在控制器中添加此行

use app\models\Empresa;

答案 1 :(得分:0)

Yii::$app->request->post()加载到$modelEmpresa并确认您的控制器中的模型调用use app\models\Empresa;

 public function actionCreate()
    {
        $model = new Inscrito();
        $modelEmpresa = new Empresa();     
        if ($model->load(Yii::$app->request->post()) && $modelEmpresa->load(Yii::$app->request->post()) && $model->save() && $modelEmpresa->save()) 
            {
                return $this->redirect(['view', 'id' => $model->id]);
            } else {
                return $this->render('create', [
                    'model' => $model,
                    'modelEmpresa' => $modelEmpresa,
                ]);
            }
    }