我有一个用户模型。用户模型与角色模型相关,这样每个用户只能为用户分配一个角色。其中一个角色是供应商角色。为了检查当前用户是否是供应商,我做了类似的事情
protected function isVendor()
{
$roles = Role::where('role_slug', 'vendor')->get();
if(isset($roles) && $roles->count() > 0)
return true;
return false;
}
我使用我刀片中的以下代码说明当前用户是供应商并执行更多操作(比如显示更多面板)
<p>{!! Auth::user()->isVendor !!}</p>
但是我一直收到此错误
关系方法必须返回类型为Illuminate \ Database \ Eloquent \ Relations \ Relation
的对象
你知道为什么会这样吗?
由于
答案 0 :(得分:1)
首先,您的方法受到保护,这意味着您无法像这样调用它。将其更改为公开。
其次,你试图访问像propery这样的函数,所以Eloquent试图解决一个关系,而不是调用你的函数。所以调用你的函数的正确方法是:
<p>{!! Auth::user()->isVendor() !!}</p>