我是Laravel的新手,所以我需要帮助解决我的AuthServiceProvider类问题。
如果用户可以拥有多个角色,我应该如何编写角色控制? 我有这个:
$gate->define( 'admin', function ( $user )
{
return $user->roles()
->where( 'name', 'admin' )
->orWhere( 'name', 'super_admin' )
->first();
} );
或者写得更好
$gate->define( 'admin', function ( $user )
{
foreach( $user->roles as $role )
{
if( $role->name == 'admin' || $role->name == 'super_admin' ) return true
}
return false;
} );
还是有更好的方法吗?第一个示例的查询是执行一次还是每次需要检查用户角色?
THX。