![](/img/trans.png)
[英]laravel 5.1: Auth::check return false in ServiceProvider
[英]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.