PHP关于引用值传递的使用

版权声明: https://blog.csdn.net/gwz1196281550/article/details/84988309

需求:将返回数据中的amdin_uid替换为admin_uid对应的姓名 将权限的key(permissions_key)替换为 权限所对应的名称

"data": [
            {
                "id": 5173,
                "admin_uid": 1,
                "org_id": 9,
                "permissions_key": "Admin/OrgAdmin/userlists",
                "request": "{\"page\":\"1\",\"size\":\"5\"}",
                "created_at": "2018-11-14 13:53:41"
            }
        ]

设计思路一:循环查询admin_uid 所在的表查出对应的admin_name;循环查询权限的key(permissions_key) 所在的表查出对应的权限名称;

代码如下

$admin_name = array();
$admin = DB::table('org_admin_user')->get(['user_name','id']);
foreach ($admin as $ke=>$va){
    $admin_name[$va->id] = $va->user_name;
}
$permissions_arr = array();
$permissions = DB::table('org_permissions as a')
    ->join('org_permissions_translation as b','a.id','=','b.permissions_id')
    ->get(['b.permissions_name','a.permissions_key']);
foreach ($permissions as $kk=>$vv){
    $permissions_arr[$vv->permissions_key] = $vv->permissions_name;
}
foreach ($org_log['data'] as $key=>&$val){
    $val = (array)$val;
    $val['admin_name'] = $admin_name[$val['admin_uid']];
    if (array_key_exists($val['permissions_key'],$permissions_arr)){
        $val['permissions_name'] = $permissions_arr[$val['permissions_key']];
    }
    else{
        $val['permissions_name'] = '该权限未匹配中文';
    }
}
return $org_log;

猜你喜欢

转载自blog.csdn.net/gwz1196281550/article/details/84988309