You don't have javascript enabled. Good luck! :(

欢迎页

Welcome to Ganace's Blog


欢迎您来到Ganace 的个人博客。

在茫茫互联网的海洋里能够遇见,实在是一份不小的幸运。

诚挚地向您问候一声:您好,朋友!

这里是属于Ganace个人的隐秘小空间,记录了工作学习中遇到的知识点与灵感,以及生活中的碎碎念与吐槽突如其来的中二病尬尬的文艺时间锻炼腹肌的时刻惊喜的小发现等等。

想要在自己的平淡无奇的人生长河中留下些什么,

或者只是为了拯救老人家岌岌可危的记忆力,

仅此而已。

来到此地,分享与你。

也期待与您的再次相遇!

Share with Me


有任何的分享或者建议与吐槽,都可以Email我:ganace@foxmail.com

欢迎您的来信!

【PHP|Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(三)

  Nov 2, 2017     Ganace     Back-end-Development

PHP
Yii2
Yii2-Admin

这里是一篇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的基本使用(二)