У меня есть форма подписки, где всего 2 поля fio
и email
. У меня сгенерированная по умолчанию модель SubscribeForm
, которая возвращает tableName = inf_users
.
Я получаю данные POST, работаю с ними и хорошо сохраняю на inf_users
. Но теперь мне нужно добавить значения в таблицу act_courses
после предыдущей таблицы model->save
со структурой:
Какой стол? Храню все действия (заказы) пользователей (онлайн-школа). Но теперь у меня не работает код без ошибок.
$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_users
, но нет данных в act_courses
.
Большое спасибо!
P.S.
getStatuses('act_courses')
- вернуть все доступные значения, которые я могу использовать для таблицы
What am I doing wrong? I have data in inf_users, but no data in act_courses
Где определение переменной $ act_courses, а также $ inf_users?
второй:
$infUser = $model->find()->where(...);
Найти перед сохранением?
в третьих:
if ($model->load(Yii::$app->request->post()))
загрузить после присвоения некоторых данных?
Понятно / См. Другие (2 и 3) вещи.
Спасибо за строчку Find before save?
Добро пожаловать! 3 тоже важная вещь. если я отправлю POST, чтобы сформировать status
, я, например, отменю ваше предыдущее назначение) Удачи!
Я не использую эту переменную. Где вы его нашли?
act_courses
- это стол