如何在laravel 8

问题描述

我制作了一个 isAdmin 中间件来检查用户是否是管理员,我做错了什么? welcome.blade.PHP

代码
    <div class="">
        @if (Route::has('login'))
        <div class="">
            @auth
            <a href="{{ url('/home') }}" class="">Home</a>
            @isadmin
            <a href="{{ url('/admin-view') }}" class="">Admin View</a>
            @endisadmin
            @else
            <a href="{{ route('login') }}" class="">Log in</a>

            @if (Route::has('register'))
            <a href="{{ route('register') }}" class="ml-4 ">Register</a>
            @endif
            @endauth
        </div>
        @endif
    </div>

它只是打印 @isadmin 而不是检查用户是否是 admin

解决方法

你可以这样检查

@if(Auth::user()->role === "admin")
...
@endif

当然,假设您在 User 模型中有一个属性角色。 中间件用于处理 HTTP 请求。