我已经给用户分配了角色,比如团队领导和项目经理。现在我希望团队领导可以创建团队,项目经理可以管理项目
我的控制器,
$roles=User::find($id)->roles()->get();
$role2=array();
foreach($roles as $rolesss) {
$role2[] = $rolesss->name;
}
Log::info('coming',$role2);
if(in_array('teamleader',$role2) && in_array('projectmanager',$role2) )
{
return 'djfdj';}
elseif(in_array('teamleader',$role2))
{
return 'team';
}
elseif(in_array('projectmanager',$role2))
{
return 'project';}
现在我的用户模型
public function roles()
{
return $this->belongstoMany('Role','user_roles','user_id', 'role_id');
}
public function hasRole($check)
{
return in_array($check, array_fetch($this->roles->toArray(), 'name'));
}
对于基于权限和角色的工作,laravel有一个名为sentinel的包,它非常有用且易于实现。
github链接是:
https://github.com/cartalyst/sentinel有关文档,您可以访问以下链接:
https://cartalyst.com/manual/sentinel/2.0