簡體   English   中英

laravel 5.1在auth :: check上的可見性

[英]laravel 5.1 button visibility on auth::check

如果管理員登錄,試圖在我的導航欄中layout.blade.php文件上顯示一個按鈕(例如“管理員面板”按鈕)。如何編寫代碼?

                    <ul class="nav navbar-nav  navbar-right">
                          <li><a href="/">Home</a></li>
                          <li><a href="/farmerPoint">Point List</a></li>
                          <li><a href="/crop">Crop List</a></li>
                          <li><a href="/AboutUs">About Us</a></li>
                          <li><a href="/SiteAdmin">Site Admin</a></li>
                          <li><a href="/ContactUs">Contact Us</a></li>
thisbutton  ----------->  <li><a href="/AdminPanel">Admin Panel</a></li>
                          @if(Auth::guest())
                          <li><a href="/login">Log in</a></li>
                          @else
                          <li><a href="/logout">Logout</a></li>
                          @endif
                       </ul>
                        <ul class="nav navbar-nav  navbar-right">
                          <li><a href="/">Home</a></li>
                          <li><a href="/farmerPoint">Point List</a></li>
                          <li><a href="/crop">Crop List</a></li>
                          <li><a href="/AboutUs">About Us</a></li>
                          <li><a href="/SiteAdmin">Site Admin</a></li>
                          <li><a href="/ContactUs">Contact Us</a></li>
                          @if (Auth:check() && Auth::user()->isAdmin())
                          <li><a href="/AdminPanel">Admin Panel</a></li>
                          @endif
                          @if(Auth::guest())
                          <li><a href="/login">Log in</a></li>
                          @else
                          <li><a href="/logout">Logout</a></li>
                          @endif
                       </ul>

如果您的用戶表中有一個名為is_admin的布爾值,則可以執行此操作。

  @if(Auth::check() && Auth::user()->is_admin)

  <li><a href="/AdminPanel">Admin Panel</a></li>

  @endif

好吧,我認為您可以使用@unles(Auth::check()) You are not Signed in @endunless類的刀刃功能@unles(Auth::check()) You are not Signed in @endunless

它應該是:

@if(Auth::check())
    @if(Auth::user()->is_admin == true)
        <li><a href="/AdminPanel">Admin Panel</a></li>
    @endif
@endif

如果您要執行@if(Auth::check() && Auth::user()->is_admin == true) ,則會收到trying to get property of non-object訪問者trying to get property of non-object

您還可以將其簡化為以下內容:

@if(session()->has('admin')
    <li><a href="/AdminPanel">Admin Panel</a></li>
@endif

在這種情況下,您將在登錄控制器方法中應用以下內容:

if(Auth::user()->is_admin == true)
{
    session()->put('admin', true)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM