Laravel - 超级管理员看不到其他角色
Laravel - SuperAdmin can't see other roles
我在我的用户模型中添加了这个:
private $rank;
public function isSuperAdmin(): bool {
if ($this->rank >= 3) {
return true;
}
return false;
}
public function isAdmin(): bool
{
if ($this->rank == 2 || $this->isSuperAdmin()) {
return true;
}
return false;
}
public function isCustomer(): bool {
if ($this->rank == 1|| ($this->isSuperAdmin() || $this->isAdmin())) {
return true;
}
return false;
}
我的等级为“3”,等于 isSuperAdmin()
函数。所以当我执行以下操作时:
if (Auth::user()->isSuperAdmin())
这按预期工作。但是,当我作为超级管理员尝试执行以下操作时:
if (Auth::user()->isAdmin())
它根本不起作用,当我拥有角色 SuperAdmin 时,Laravel 不显示 @if(Auth::user()->isAdmin())
之间的任何内容。这对所有角色都是一样的,我不明白为什么..我做错了什么?
Ps。我还在 isAdmin
函数中尝试了以下方法,它也不起作用:
if ($this->rank >= 2 || $this->isSuperAdmin()) {
在我删除 private $rank
之后,一切都按预期进行。
我在我的用户模型中添加了这个:
private $rank;
public function isSuperAdmin(): bool {
if ($this->rank >= 3) {
return true;
}
return false;
}
public function isAdmin(): bool
{
if ($this->rank == 2 || $this->isSuperAdmin()) {
return true;
}
return false;
}
public function isCustomer(): bool {
if ($this->rank == 1|| ($this->isSuperAdmin() || $this->isAdmin())) {
return true;
}
return false;
}
我的等级为“3”,等于 isSuperAdmin()
函数。所以当我执行以下操作时:
if (Auth::user()->isSuperAdmin())
这按预期工作。但是,当我作为超级管理员尝试执行以下操作时:
if (Auth::user()->isAdmin())
它根本不起作用,当我拥有角色 SuperAdmin 时,Laravel 不显示 @if(Auth::user()->isAdmin())
之间的任何内容。这对所有角色都是一样的,我不明白为什么..我做错了什么?
Ps。我还在 isAdmin
函数中尝试了以下方法,它也不起作用:
if ($this->rank >= 2 || $this->isSuperAdmin()) {
在我删除 private $rank
之后,一切都按预期进行。