Call to undefined method Illuminate\Database\Query\Builder::hasRole ()
按照Entrust文档,用Entrust::routeNeedsRole配置权限访问的时候报了:Call to undefined method Illuminate\Database\Query\Builder::hasRole()
的错误
权限配置如下:Entrust::routeNeedsRole('admin*', 'Admin', Redirect::to('users/login'));
我的<br>User
类是:
use Zizaco\Entrust\Traits\EntrustUserTrait;
use Zizaco\Confide\ConfideUser;
use Zizaco\Confide\ConfideUserInterface;
class User extends Model implements AuthenticatableContract,
CanResetPasswordContract,
ConfideUserInterface
{
use CanResetPassword;
use EntrustUserTrait;
use ConfideUser;
EntrustUserTrait
这个trait里面已经包含了hasRole
方法了
有人遇到类似的问题吗?
我用的是laravel5.1,Entrust和Confide都是laravel5的包
补充下:我直接在控制器里面调用$user->hasRole('Admin');是没有问题的
感觉Entrust::routeNeedsRole
内部调用hasRole
方法的类不是我处理过的User
类
推荐文章: