Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Yii2中保存两个模型?_Php_Sql_Activerecord_Yii2 - Fatal编程技术网

Php 如何在Yii2中保存两个模型?

Php 如何在Yii2中保存两个模型?,php,sql,activerecord,yii2,Php,Sql,Activerecord,Yii2,我有一个订阅表单,其中只有两个字段fio和email。我有一个默认生成的subscribeborm模型,它返回tableName=inf\u用户 我获取POST数据,使用它并保存给inf\u用户。但是现在,我需要在model->save前面的表之后,将值添加到表act\u courses,表的结构如下: id(主键) 服务id(FK) 课程编号(FK) 状态(FK) 行动日期(日期) 桌子是什么?我存储用户(在线学校)的所有操作(命令)。但是现在我没有没有没有错误的工作代码 $model =

我有一个订阅表单,其中只有两个字段
fio
email
。我有一个默认生成的
subscribeborm
模型,它返回
tableName=inf\u用户

我获取POST数据,使用它并保存给
inf\u用户。但是现在,我需要在
model->save
前面的表之后,将值添加到表
act\u courses
,表的结构如下:

  • id(主键)
  • 服务id(FK)
  • 课程编号(FK)
  • 状态(FK)
  • 行动日期(日期)
桌子是什么?我存储用户(在线学校)的所有操作(命令)。但是现在我没有没有没有错误的工作代码

$model = new SubscribeForm();
$password = generateStrongPassword(12);
$model->password = md5($password);
$infUsersStatuses = $model->getStatuses('inf_users');
$model->status = $infUsersStatuses[0]->id;
$model->reg_date = date('Y-m-d');

if($model->load(Yii::$app->request->post())) {
    $actCoursesModel = new ActCourses();
    $infUser = $model->find()->where(['email' => Yii::$app->request->post('SubscribeForm')['email']])->one();
    $actCoursesModel->user_id = $infUser['id'];
    $actCoursesModel->course_id = $this->courseID;
    $actCoursesStatuses = $model->getStatuses('act_courses');
    $actCoursesModel->status = $actCoursesStatuses[0]->id;
    $actCoursesModel->action_date = date('Y-m-d');

    if ($model->save() && $actCoursesModel->save()) {
      ///someactions
    }
我做错了什么?我在
inf\u用户
中有数据,但在
act\u课程
中没有数据

非常感谢

附言。
getStatuses('act_courses')
-返回可用于表的所有可用值

我做错了什么?我在inf_用户中有数据,但在act_课程中没有数据

变量$act\u课程定义和$inf\u用户在哪里

第二:

$infUser = $model->find()->where(...);
保存之前先查找

第三:

if($model->load(Yii::$app->request->post()))

分配一些数据后加载?

我不使用此变量。你在哪里找到的
act\u courses
是一个表,请理解/查看其他(2和3)内容。感谢您的行
保存前查找?
欢迎!3也是很重要的事情。如果我发布到表单
状态
,我将覆盖你之前的提示(例如,)祝你好运!