I added this in my User model:
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;
}
I have rank '3' which equals the isSuperAdmin()
function. So when I do the following:
if (Auth::user()->isSuperAdmin())
This works as expected. However when I, as SuperAdmin, try to do the following:
if (Auth::user()->isAdmin())
It doesn't work at all, Laravel doesn't display whatever is between @if(Auth::user()->isAdmin())
in my views when I have the role SuperAdmin. This is the same for all the roles and I don't understand why.. what am I doing wrong?
Ps. I also tried the following in the isAdmin
function, which also doesn't work:
if ($this->rank >= 2 || $this->isSuperAdmin()) {
question from:
https://stackoverflow.com/questions/65865346/laravel-superadmin-cant-see-other-roles 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…