Что за ошибка в yii2-user при выходе?

Настраиваю yii2-user от Dektrium, все вроде работает хорошо, логинится, изменяет данные и т.д. но при попытке выхода выдает ошибку:
TypeError
Argument 1 passed to app\controllers\user\SecurityController::getUserEvent() must be an instance of dektrium\user\models\User, instance of app\models\User given, called in /Applications/MAMP/htdocs/site/controllers/user/SecurityController.php on line 153


На 153 линии этот код:
public function actionLogout()
    {
       $event = $this->getUserEvent(\Yii::$app->user->identity); //153 строчка
        $this->trigger(self::EVENT_BEFORE_LOGOUT, $event);
        \Yii::$app->getUser()->logout();
        $this->trigger(self::EVENT_AFTER_LOGOUT, $event);
        return $this->goHome();
    }


Подскажите в чем может быть проблема? Как решить?
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Перевод ошибки:

Ошибку typeerror аргумент 1 принят к приложение\контроллеры\пользователь\SecurityController::getUserEvent() должен быть экземпляр dektrium\пользователь\модели\Пользователь, экземпляр приложения\модели\пользователя, данные, называется в /применения/mamp/htdocs в/строительного/контроллеры/пользователей/SecurityController.php в строке 153


Судя по ошибке ругается, что используется другая модель вместо app\models\User должна быть dektrium\user\models\User

Смотрите где подключаете и используете базовую модель и измените на dektrium\user\models\User

Возможно поможет добавить в конфиг
//.......
'user' => [
            'identityClass' => dektrium\user\models\User',
            //...
        ],
//.......
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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