Как сделать несколько объектов из json - используя laravel - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу сделать объекты в своем ответе 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
    ]
]);

У меня нет идеи, как реализовать перечисленные выше функции, кто-нибудь там, пожалуйста, помогите мне, ваша помощь будет высоко оценена!

1 Ответ

0 голосов
/ 03 апреля 2019

сначала получите все ваши данные, которые вы хотите отобразить с массивом, когда вы вернете этот массив с помощью 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"
     },
   ]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...