【问题标题】:How to make multiple objects of json - using laravel如何制作多个json对象-使用laravel
【发布时间】:2019-08-23 23:39:55
【问题描述】:

我想在我的 json 响应中创建对象我已经实现了这个功能,但是我想在我的响应中做更多的事情,我目前得到的响应是:

"privileges": {
    "facilities": [
    {
        "facility_id": 1,
        "speciality_id": 1,
        "is_facility_supervisor": 1
    },
    {
        "priv_key": "ced"
    }
    ]
}

但我想将“priv_key”:“ced”添加到我的设施对象中,还有一件事我想添加“is_super_admin”:1. 到“如下所示的特权:

"privileges": { 
    "is_super_admin": 1,
    "facilities": [
    {
        "facility_id": 1,
        "speciality_id": 1,
        "is_facility_supervisor": 1
    },
    {
        "priv_key": "ced"
    }
    ]
}

我如何实现上述功能这是我的控制器代码:

$response = array(); 
$response['facilities'] = DB::table('users')->where('is_super_admin')->first();
$response['facilities'][0] = DB::table('user_facility')->select('user_facility.facility_id','user_facility.speciality_id','user_facility.is_facility_supervisor')->where('user_id',$currentUser->id)->first();
$response['facilities'][1] = DB::table('prev_definition')->select('prev_definition.priv_key')->where('user_id',$currentUser->id)->first();

以及我发送响应的登录信息:

return response()->json([
    'status' => true,
    'message' => 'Login successfully',
    'data' => [
        'privileges' => $response
    ]
]);

我不知道如何实现上述功能,请那里的任何人帮助我,您的帮助将不胜感激!

【问题讨论】:

  • 实际输出是什么?
  • 为什么非设施数据会进入facilities数组?还有,你的“我有什么”和“我想要什么”基本一致……

标签: php arrays laravel object


【解决方案1】:

当你使用 response->json([]) 返回这个数组时,首先获取你想用数组映射的所有数据,它会将你的数组转换为 json 对象。

$is_super_admin = DB::table('users')->where('is_super_admin')->first();
$speciality_id = DB::table('user_facility')->select('user_facility.facility_id','user_facility.speciality_id','user_facility.is_facility_supervisor')->where('user_id',$currentUser->id)->first();
$priv_key = DB::table('prev_definition')->where('user_id',$currentUser->id)->pluck('priv_key')->first();
$response = [
        'privileges'=>[
            'is_super_admin'=>$is_super_admin ,
            'facilities'=>[
             [
                'facility_id'=>1,
                'speciality_id'=>$speciality_id ,
                'is_facility_supervisor'=>1,
                 'priv_key'=>$priv_key
             ],
            ]
        ]
    ];

return response()->json([
'status' => true,
'message' => 'Login successfully',
'data' => $response

]);

$response 的示例结果:

{
    "privileges": {
    "is_super_admin": 1,
    "facilities": [
     {
        "facility_id": 1,
        "speciality_id": 1,
        "is_facility_supervisor": 1,
         "priv_key": "ced"
     },
   ]
  }
}

【讨论】:

  • 嗨,kamran,我想将 "prev_key": ced" 放入设施对象中
  • 我刚刚编辑了我的帖子,这样你就可以更好地了解我所做的只是将数组键“priv_key”放在设施数组中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
  • 1970-01-01
  • 2018-07-07
  • 2023-02-16
  • 2017-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多