/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $profile = new Profile(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); $user->role = 'user'; $user->status = 1; $profile->firstname = $this->firstname; $profile->lastname = $this->lastname; $profile->avatar = $this->avatar; // $profile->gender = 0; $transaction = Yii::$app->db->beginTransaction(); if ($user->save()) { $profile->user_id = $user->getId(); if ($profile->save()) { $transaction->commit(); return $user; } } else { $transaction->rollback(); print_r($user->getErrors()); return false; } } return null; }
public function actionCreate() { $user = new User(['scenario' => 'admin-create']); $profile = new Profile(); $statusArray = User::getStatusArray(); $roleArray = User::getRoleArray(); if ($user->load(Yii::$app->request->post())) { if ($user->validate()) { $transaction = Yii::$app->db->beginTransaction(); if ($user->save(false)) { $profile->user_id = $user->getId(); if ($profile->save(false)) { $transaction->commit(); return $this->redirect(['index']); } else { $transaction->rollback(); print_r($user->getErrors()); return false; } } else { Yii::$app->session->setFlash('danger', 'Ошибка'); return $this->refresh(); } } } // $transaction = Yii::$app->db->beginTransaction(); // if ($user->save()) // { // $profile->user_id = $user->getId(); // if($profile->save()) // { // $transaction->commit(); // return $user; // } // } // else // { // $transaction->rollback(); // print_r($user->getErrors()); // return false; // } return $this->render('create', ['model' => $user, 'statusArray' => $statusArray, 'roleArray' => $roleArray]); }