我有
用户表喜欢
+==============+ | User | +==============+ | id | +--------------+ | firstname | +--------------+ | lastname | +--------------+ | email | +--------------+ | password | +--------------+
和我的角色表
+==============+ | Roles | +==============+ | id | +--------------+ | name | +--------------+
我的role_user表是
+=============+ | role_user | +=============+ | user_id | +-------------+ | role_id | +-------------+
如何检查当前登录的用户是管理员还是普通用户?
您需要roles
在User
模型中添加关系,如下所示:
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