php - 如何在 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;
}
}
解决方案
您应该使用 array_merge 或 array_map 处理和合并权限。
但是,我的建议是使用适当的 ACL 包......我看到你正在使用 laravel, https: //packagist.org/ 上有一些不错的包。它们都带有文档,一旦你设置它们,你就不需要担心这样的问题并继续你的应用程序:-)
祝你好运!
推荐阅读
- python-3.x - 在图表上绘制点?
- ffmpeg - ffmpeg 连接两个带有可选音频的源
- php - 带有 REST 和 PHP 的 NCDC Web 服务天气数据
- python - Pandas 将两列合二为一并排除 NaN 值
- bash - 在写入结果之前使用临时文件夹的 HPC 上的多个作业提交问题
- javascript - onClick 使用 firestore 和 React、redux 在组件挂载时立即触发
- python - 我收到一个错误“ValueError:endog 必须有 ndim 1 但有 ndim 2”
- sql - 将 Web 应用程序连接到 Azure VM 上的 SQL Server
- c++ - 尝试编译 C++ 时出现致命错误:无法打开文件 'kernel.32.lib'
- css - Ionic 4 如何使用媒体查询做一个响应式应用程序?