首页 > 解决方案 > 在 Laravel 5.7 上确定每个用户级别/角色的布局

问题描述

美好的一天,我的项目管理员就业客户中有 3 个不同的级别/角色

我想根据级别确定一页的布局,这是我的代码,我使用 Auth::user

@if(Auth::user()->role === 'employment')
    @extends('layouts.menuemployments')
@elseif (Auth::user()->role === 'admin')
    @extends('layouts.menuadmin')
@elseif(Auth::user()->role === 'customer')
    @extends('layouts.menucustomer')
@endif 

但是当我尝试这个时,代码显示了 3 个菜单,这是什么问题?

标签: phpmysqllaravel

解决方案


您可以使用此示例代码。

@php
   if(Auth::user()->role === 'employment') {
      $layoutDirectory = 'layouts.menuemployments';
   } elseif (Auth::user()->role === 'admin') {
      $layoutDirectory = 'layouts.menuadmin';
   } else {
      $layoutDirectory = 'layouts.menucustomer';
   }
@endphp

@extends($layoutDirectory)

当然可以通过移动@php中间件中的块来改进它,使其更干净

https://laravel.com/docs/5.7/middleware


推荐阅读