Call to undefined method app\models\User::find() yii2-admin

这个问题可能你们遇到的很少。php

分析缘由web

问题出在 config/web.php 这个配置文件里面yii2

'components' => [
        .....
        'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
        ],
],

在这个文件里咱们配置了user 因此默认他会使用咱们配置过的user 可是咱们本身建的model里面并无声明它想要的 find() 方法app

追踪代码能够发现常常用到这样一段代码yii

 

 

 若是配置了user 用的是 你本身定义的 model 类。 若是没有定义,使用它本身定义的 mdm\admin\models\User ide

解决方法this

在 vendor\mdmsoft\yii2-admin (yii2-admin插件的位置) 里面搜索 mdm\admin\models\Userspa

凡是 mdm\admin\models\User 前面带三目运算的咱们将判断去掉,直接将值赋值成为 mdm\admin\models\User插件

操做code

将  Yii::$app->getUser()->identityClass ? : 'mdm\admin\models\User'  替换成  ‘mdm\admin\models\User’

将 $this->userClassName ? : 'mdm\admin\models\User' 替换成  ‘mdm\admin\models\User’

相关文章
相关标签/搜索