在php artisan tinker中工作并返回true:
>>> User::first()->is('admin');
=> true
返回错误:
>>> User::where('id', 1)->is('admin');
BadMethodCallException with message 'Call to undefined method Illuminate\Database\Query\Builder\::is()'
为什么这样?
解决方法:
因为当使用-> where()时,您正在构建集合,但是-> first()会返回模型.
为了雄辩地返回模型,您需要通过添加-> get()来要求它执行查询.
但是,这也会返回一个集合.您可以使用-> first()解决此问题
User::where('id', 1)->first()->is('admin');
编辑评论:
尝试执行此操作,但是上面的代码应该可以工作.
$user = User::where('id', 1)->first();
$isAdmin = $user->is('admin');