如何在laravel中制作角色菜单

时间:2017-04-01 20:15:15

标签: php laravel

我需要在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()

2 个答案:

答案 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()是否为对象