我正在与Laravel合作,目前我只关注权限,我需要验证的是,如果用户具有卖方和管理员的角色,他们将列出所有卖方,如果没有,则列出所有卖方一个项目。
我试图创建自己的函数,但我总是陷入True,只允许我不再验证1个角色</ p>
public function isSeller(){
foreach (Auth::user()->getRoleNames() as $role) {
if ($role == 'vendedor') {
return true;
} else {
return false;
}
}
}
如果在上一个查询中,如果我输入&& $ role =='admin',则即使用户没有该角色,它也将始终返回true。
答案 0 :(得分:2)
您可以直接如下所示进行检查,如果用户具有卖方或管理员角色,它将返回true
Auth::user()->hasRole('seller','admin')
如果要检查用户是否同时具有这两个角色,
Auth::user()->hasAllRoles('seller','admin')