Reputation: 835
Currently I am having following json response:
"privileges": {
"0": {
"is_super_admin": 1
},
"facilities": {
"facility_id": 1,
"speciality_id": 1,
"is_facility_supervisor": 1
},
"priv_key": "ced"
}
But the response i want is below:
"privileges":{
"is_super_admin": 1,
"facilities": [
{
"facility_id": 1,
"is_facility_supervisor": 1,
"speciality_id": 1,
"prev_key": "ced"
},
]
}
Here is my controller code:
$is_super_admin = DB::table('users')->select('users.is_super_admin')->where('id',$currentUser->id)->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();
$superadmin = (object) $is_super_admin;
$specialities = (object) $speciality_id;
$response = [
$superadmin,
'facilities' => $specialities,
'priv_key' => $priv_key
];
I am stuck how I can got my desired response I want "priv_key": "ced" inside my facilities object and "is_super_admin": 1 inside privileges object and remove index 0,
Your help will be highly appreciated!
Upvotes: 0
Views: 690
Reputation: 67505
You could adjust your final result by adjusting the structure of the objects like :
$is_super_admin = DB::table('users')->select('users.is_super_admin')->where('id',$currentUser->id)->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();
$superadmin = $is_super_admin->is_super_admin;
$specialities = (object) $speciality_id;
$specialities->priv_key = $priv_key;
$response = ['is_super_admin' => $superadmin, 'facilities' => [$specialities]];
Upvotes: 3