我正在尝试laravel授权,我需要在User模型上检查条件并返回布尔值的方法! 例如?
class User extends Model{
/*****
*****
*****/
public function roles()
{
return $this->hasMany('App\Role');
}
public function hasRole($roles)
{
// some validation and return boolean
}
}
并在模型中:
{{1}}
我如何通过laravel模型这样做?有什么办法吗?
答案 0 :(得分:1)
public function hasRole($roles)
{
return !$this->roles->pluck('role_column')->intersect($roles)->isEmpty();
}
别忘了改变角色列'
答案 1 :(得分:0)
由于你有一个字符串数组,并且我假设你的角色有名字,你可以用一个简单的SQL查询来完成。
public function hasRole($roles) {
return $this->roles->whereIn('role', $strings)->exists();
}