我正在研究laravel ACL在我的ACL系统中,每个Role都有数组权限列表,我的问题是当我为用户选择多个角色时,角色权限会显示我这样。我想自定义这种格式的数组数据。
{
"read": "1",
"create": "1",
"update": "1",
"delete": "1",
"read-product": "1",
"create-product": "1",
"update-product": "1"
}
To,This Format。
"User":{
"read": "1",
"create": "1",
"update": "1",
"delete": "1",
}
"Admin": {
"read-product": "1",
"create-product": "1",
"update-product": "1"
"delete-product": "1"
},
这是我的控制器部分。
public function assignrole(Request $request)
{
$a;
if(is_array($request['role']))
{
foreach($request['role'] as $role)
{
$role_info=Role::find(1);
foreach($request->permissions as $permission=>$value)
{
$a[$permission] = $value;
}
}
return $role_info;
}
}
答案 0 :(得分:0)
您应该使用array_merge或array_map处理和合并权限。
但是,我的建议是使用正确的ACL包...我看到你正在使用laravel,https://packagist.org/上有一些好的。它们都带有文档,一旦你设置它们,你就不需要为这样的问题而烦恼,继续你的应用程序: - )
祝你好运!