猿问

如何限制对视图 Laravel 某些部分的访问

如果用户不是访客/管理员不应该看到,我想限制视图的某些部分。该应用程序有 3 个用户管理员、供应商、客户


 @if (Auth::check() && !Auth::user()->role == 'customer') 

     <div class="collapse show" id="users-nav">

         <ul class="nav nav-sm flex-column">

             <li class="nav-item">

                 <a class="nav-link" href="{{ route('profile.edit') }}">

                     {{ __('User Profile') }}

                 </a>

             </li>

我收到错误


供应商没有看到那部分,我希望他和管理员一起看到


holdtom
浏览 151回答 2
2回答

波斯汪

你应该改变你的if clause:@if&nbsp;(Auth::check()&nbsp;&&&nbsp;!Auth::user()->role&nbsp;==&nbsp;'customer')对此:@if&nbsp;(Auth::check()&nbsp;&&&nbsp;!(Auth::user()->role&nbsp;==&nbsp;'customer'))或者对此(如@miken32所指出的),更容易阅读:@if&nbsp;(Auth::check()&nbsp;&&&nbsp;(Auth::user()->role&nbsp;!==&nbsp;'customer'))第一个总是错误的,注意圆括号。

繁星淼淼

Blade 提供了多种快捷方式来检查用户是否已登录。例如:@auth&nbsp; &nbsp; <p>Only logged in users can view this</p>&nbsp; &nbsp; <a href="/logout">Logout</a>@endauth@guest&nbsp; &nbsp; <p>Only non-logged in users can view this</p>&nbsp; &nbsp; <a href="/login">Login</a>@endguest您可以在此处查看其他刀片模板 if 语句:https : //laravel.com/docs/5.8/blade#if-statements
随时随地看视频慕课网APP
我要回答