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