这里是一篇Ganace记录的关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(报错解决办法)的文章。
First
报错
-
- 打开 /index.php?r=admin报错如下
- PHP Fatal Error – yii\base\ErrorException
- Call to undefined method app\models\User::find()
报错原因
-
- 打开报错的app/vendor/yiisoft/yii2-admin/models/searchs/Assignment.php。app即为yii2安装目录。
- 找到search方法
public function search($params, $class, $usernameField)
{
$query = $class::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) {
return $dataProvider;
}
}
- 可以看出是search方法找不到find()函数,不能给活动数据提供者提供user用户表的sql语句$query。
解决办法
-
- 打开app/models/User.php,app即为yii2安装目录。
- 新建一个方法如下。给上面的search方法提供$query
static function find(){
$query = SELECT * FROM `user`;#此处为user用户表的sql语句
return $query;
}
【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(一)
【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(二)