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也是很重要的事情。如果我发布到表单状态
,我将覆盖你之前的提示(例如,)祝你好运!