public function actionSubmit(){
$event= new Events();
$address=new Addresses();
if($event->load(yii::$app->request->post()) && $event->save() && $address->load(yii::$app->request->post()) && $address->save())
{
return $this->render('sucess');
}
else{
return $this->render('unsucess');
}
}
为什么在表格中使用此$ event和$ address时会出现未定义的错误?
答案 0 :(得分:0)
试试这个:
public function actionSubmit(){
$event= new Events();
$address=new Addresses();
if($event->load(yii::$app->request->post()) && $event->save() && $address->load(yii::$app->request->post()) && $address->save())
{
return $this->render('sucess', ['event' => $event, 'address' => $address]);
}
else{
return $this->render('unsucess', ['event' => $event, 'address' => $address]);
}
}
答案 1 :(得分:0)
为什么在我使用此$ event和$ address时会出现未定义的错误 以形式查看??
因为您还没有通过模型事件&地址($ event和$ address)到视图中(成功和失败)。在控制器中 你应该添加以下代码行
return $this->render('sucess',['event'=> $event, 'address' => $ address]);
答案 2 :(得分:0)
这是因为$event
和$address
属于不同的模型。当模型事件发生表单提交时,如果模型地址$address
不存在,则$event
不存在。
在if语句中进行以下更改可以解决问题,
($event->load(yii::$app->request->post()) && $event->save()) || ($address->load(yii::$app->request->post()) && $address->save())
逻辑OR有助于yii区分相应的模型变量。
我的建议是对不同的模型使用不同的动作方法,使其更加模块化。