syed1234
syed1234

Reputation: 835

How to remove indexes from json - using laravel

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

Answers (1)

Zakaria Acharki
Zakaria Acharki

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

Related Questions