Laravel 5.2.2和Entrust错误调用未定义的方法

时间:2016-03-02 04:40:28

标签: laravel entrust

大家好,在使用最新的Laravel 5.2.2和Entrust时(" zizaco /委托":" 5.2.x-dev")我遇到这个错误,不知道如何解决这个问题

Call to undefined method Zizaco\Entrust\EntrustServiceProvider::hasRole()

我在HomeController.php上测试了这段代码

use Entrust;

class HomeController extends Controller
{ 


    public function index()
    {
        if (Entrust::hasRole('admin')) {
            echo "string";
        }

        return view('home');
    }
}

这是我的config / app.php服务提供商

Zizaco\Entrust\EntrustServiceProvider::class

config / app.php门面别名

'Entrust'   => Zizaco\Entrust\EntrustFacade::class

我也已经生成了所需的模型

enter image description here

enter image description here

enter image description here

我在这里错过了什么吗?提前致谢

4 个答案:

答案 0 :(得分:10)

我有同样的问题,以下是我为解决问题所采取的步骤

在.env文件中更改为缓存数组

CACHE_DRIVER=array

并且不要忘记运行

php artisan config:cache

答案 1 :(得分:4)

似乎所有步骤都是正确的,我只需要使用php artisan config:cache

清除缓存

如果您遇到如下错误

BadMethodCallException in vendor\laravel\framework\src\Illuminate\Cache\Repository.php line 380:
This cache store does not support tagging.

您需要将此行中的.env更改为数组

CACHE_DRIVER=array

答案 2 :(得分:0)

试试这个:

将laravel的CPLE_DRIVER =文件更改为CACHE_DRIVER = array并保存。

现在尝试使用CLI命令。

答案 3 :(得分:-1)

Laravel驱动程序不支持标记。要解决此问题,请转到.env文件并更改

Cache_driver=file

Cache_driver=array

并运行

php artisan config:cache