我只是增加了对Laravel项目的委托,我可以创建角色,创建权限,attachPermission,assignRole。
现在,我想将多个权限附加到一个角色上,例如,我向superAdmin角色添加了创建用户、编辑用户、删除用户、更新用户的权限。
public function attachPermission(Request $request){
$role = Role::where('name', '=', $request->input('role'))->first();
$permission = Permission::where('name', '=', $request->input('name'))->first();
foreach ($permission as $pers){
$role->attachPermissions($pers);
}
return response()->json("done");
}
这段代码获得了最后的权限,这是我用Postman测试的后端。
那么什么是最好的为什么这么做呢?谢谢你的帮助。
发布于 2016-09-08 06:06:33
首先检索希望分配给角色的权限:
$permissionNames = ['name1', 'name2', 'name3'];
$permissions = Permission::whereIn('name', $permissionNames)->get();
然后,您可以将$permissions
集合传递给attachPermissions()
方法,该方法接受一组有说服力的模型:
$role->attachPermissions($permissions);
https://stackoverflow.com/questions/39388399
复制