当前位置:  开发笔记 > 编程语言 > 正文

如何在laravel刀片视图中检查用户是否为Admin

如何解决《如何在laravel刀片视图中检查用户是否为Admin》经验,为你挑选了1个好方法。

我有

用户表喜欢

+==============+
|     User     |
+==============+
|      id      |
+--------------+
|   firstname  |
+--------------+
|    lastname  |
+--------------+
|     email    |
+--------------+
|   password   |
+--------------+

和我的角色表

+==============+
|     Roles    |
+==============+
|      id      |
+--------------+
|     name     |
+--------------+

我的role_user表是

+=============+
|  role_user  |
+=============+
|   user_id   |
+-------------+
|   role_id   |
+-------------+

如何检查当前登录的用户是管理员还是普通用户?



1> Marcin Nabia..:

您需要rolesUser模型中添加关系,如下所示:

public function roles() 
{
   return $this->belongsToMany(App\Role::class);
}

现在你需要isAdmin像这样创建用户:

public function isAdmin() 
{
   return in_array(1, $this->roles()->pluck('role_id')->all());
}

1您输入管理员角色的ID时.当然它也可以用其他方式定义,但一切都取决于如何使用它.

它也可以这样定义:

public function isAdmin() 
{
   return $this->roles()->where('role_id', 1)->first();
}

现在在你的刀片中你可以做到:

@if (auth()->check())
   @if (auth()->user()->isAdmin())
      Hello Admin
   @else
      Hello standard user
   @endif
@endif

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有