1


我只是将委托添加到 Laravel 项目中,我可以创建角色、创建权限、附加权限、分配角色。

现在我想将多个权限附加到一个角色,例如我将此权限 [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 测试的后端。
那么为什么要这样做最好呢?并感谢您的帮助。

4

1 回答 1

2

首先检索您希望分配给角色的权限:

$permissionNames = ['name1', 'name2', 'name3'];

$permissions = Permission::whereIn('name', $permissionNames)->get();

然后你可以将$permissions集合传递给 attachPermissions()接受 Eloquent 模型数组的方法:

$role->attachPermissions($permissions);
于 2016-09-08T14:06:33.753 回答