我需要在laravel中制作角色菜单,我在用户模型中制作了这个功能
public function isTeacher() {
return $this->where('role', '3')->exists();
}
并在app.blade上进行此操作:
@if(Auth::user()->isTeacher())
<li class=" btn">
<a class="menu" href="/">الرئيسية</a>
</li>
<li class=" btn">
<a class="menu" href="/">تقييم الأطفال</a>
</li>
<li class=" btn">
<a class="menu" href="/">تسجيل طفل جديد</a>
</li>
<li class=" btn">
<a class="menu" href="/indexTable">إدخال جدول الانشطة</a>
</li>
<li class=" btn">
<a class="menu" href="/">مراجعة جدول الانشطة</a>
</li>
@endif
@if (Auth::guest())
<li class=" btn">
<a href="/register" class="log"> تسجيل ولي أمر جديد </a>
</li>
@endif
但它给了我这个错误:
在非对象
上调用成员函数isTeacher()
答案 0 :(得分:0)
我认为你的isTeacher后不需要括号“()”
@if(Auth::user()->isTeacher){
//
}
答案 1 :(得分:0)
在换刀片中:
@if(Auth::user()->isTeacher())
到
@if(Auth::user() && Auth::user()->isTeacher())
您的检查不正确,如果用户未登录,Auth :: user()将返回null,因此在调用isTeacher()之前,您必须检查Auth :: user()是否为对象