首页 > 解决方案 > 如何在 laravel 中自定义关联数组数据

问题描述

我正在处理 laravel ACL 中,我的 ACL 系统中的每个角色都有数组权限列表,我的问题是当我为一个用户选择多个角色时,角色权限会像这样显示给我。我想自定义这种格式的数组数据。 { "read": "1", "create": "1", "update": "1", "delete": "1", "read-product": "1", "create-product": "1", "update-product": "1" }

至,此格式。 "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;
    }

}

标签: phplaravel

解决方案


您应该使用 array_merge 或 array_map 处理和合并权限。

但是,我的建议是使用适当的 ACL 包......我看到你正在使用 laravel, https: //packagist.org/ 上有一些不错的包。它们都带有文档,一旦你设置它们,你就不需要担心这样的问题并继续你的应用程序:-)

祝你好运!


推荐阅读