我只是将委托添加到Laravel项目中,我可以创建角色,创建权限,attachPermission,assignRole。
现在我想将多个权限附加到一个角色,例如我将此权限[create-user,edit-user,remove-user,update-user]添加到superAdmin Role。
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测试的后端 那么最好的原因是什么呢?并感谢您的帮助。
答案 0 :(得分:2)
首先检索您希望分配给角色的权限:
$permissionNames = ['name1', 'name2', 'name3'];
$permissions = Permission::whereIn('name', $permissionNames)->get();
然后您可以将$permissions
集合传递给接受一系列Eloquent模型的attachPermissions()
方法:
$role->attachPermissions($permissions);