@nnkrasovok

Как выбрать пользователя из связанной таблицы с условием (hasOne)?

в этой записи записывает id пользователя из таблицы user в поле user_id таблицы profile.

public function getUser()
    {
        return $this->hasOne($this->module->manager->userClass, ['id' => 'user_id']);
    }


как сделать так, чтобы он проверил поле role_id таблицы пользователя, и если значение равно 2, то только тогда происходит запись?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@davidnum95
public function afterSave($insert, $changedAttributes)
    {
        if ($insert && $this->role_id === 2) {
            $profile = $this->module->manager->createProfile([
                'user_id'        => $this->id,
                'gravatar_email' => $this->email
            ]);
            $profile->save(false);
        }
        parent::afterSave($insert, $changedAttributes);
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы