我正在尝试评估auth用户的角色数组。 100和102是我想要检查的角色值。如果Auth用户有其中一个,则返回true
。这可能吗?到目前为止,这是我的代码:
if (Auth::user()->role_id == ([100, 102]) {
//process code here. A lot of code.
}
我不希望一次重复和检查一个因为处理代码很多并且会使文件冗长。
答案 0 :(得分:3)
in_array()
肯定会对你有用:
if (in_array(auth()->user()->role_id, [100, 102]))
在这种情况下,您还可以定义global helper以检查当前用户是否属于某个角色或角色组:
if (! function_exists('isAdmin')) {
function isAdmin()
{
return in_array(auth()->user()->role_id, [100, 102]);
}
}
然后你就可以在控制器,模型,自定义类等中使用这个帮助器了:
if (isAdmin())
甚至在Blade视图中:
@if (isAdmin())
答案 1 :(得分:1)
As hassan said you can use in_array()
$a= Auth::user()->role_id;
$b= in_array(100, $your_array);
$c= in_array(102, $your_array);
if ( $a == $b && $a == $c ) {
//process code here. A lot of code.
}