valetu
@valetu

Передать id пользователя при регистрации в таблицу token?

Есть две таблицы(модели) user и token. В user хранятся данные пользователя, id, email, username и тп, а в token, токены подтверждения email, смены пароля.
Есть модель прослойка RegistrationForm, с функцией для регистрации:
public function registration()
    {
        if (!$this->validate()) {
            return null;
        }
        $user = new User();
        $user->nickname = $this->nickname;
        $user->email = $this->email;
        $user->setPassword($this->password);
        $user->generateAuthKey();
         /.....
        return $user->save() ? $user : null;
    }

Как при регистрации записать в таблицу token, код токена и id текущего зарегистрированного пользователя?
Написать функцию для токена?
public function createEmailConfirmToken()
    {
        $token = new Token();
        $token->code = Yii::$app->security->generateRandomString();
        $token->created_at = time();
        $token->type = Token::CONFIRMATION_EMAIL;

        return $token->save() ? $token : null;
    }

Как тогда передать айдишник пользователя?
Опишите пожалуйста, как это реализовать правильно.
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
proudmore
@proudmore
Вы можете из метода registration вернуть user_id. ID у AR объекта вызывается после сохранения. Т.е:
if($user->save()){
    return $user->id;
}
return null;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы