Как объединить два объекта в один объект с помощью laravel - PullRequest
0 голосов
/ 15 мая 2019

Я получаю ответ от объектов, как это:

                       "facilities": [
            [
                {
                    "facility_id": 1,
                    "speciality_id": null,
                    "is_facility_supervisor": 0,
                    "priv_key": "can_add_doctor,can_view_doctor"
                }
            ],
            {
                "name": "Patient",
                "role_id": 7
            }
        ]

Я хочу, чтобы name и role_id добавлялись в объекты, и я хотел бы получить ожидаемый результат, подобный этому

               "facilities": [
            [
                {
                    "facility_id": 1,
                    "speciality_id": null,
                    "is_facility_supervisor": 0,
                    "priv_key": "can_add_doctor,can_view_doctor",
                    "name": "Patient",
                     "role_id": 7

                }
            ],

        ]

Как мне добиться этого имени выходаи role_id находится в отдельном объекте, но я хочу в одном объекте, как я поделился.

Мой код:

$specialities = DB::table('user_facility')
->select('user_facility.facility_id','user_facility.speciality_id','user_facility.is_facility_supervisor','user_facility.priv_key')
->where('user_id',$currentUser->id)->get();

         $roles = DB::table('roles')
        ->join('user_facility', 'roles.id', 'user_facility.role_id')
        ->where('user_facility.user_id', Auth::user()->id)
        ->select('roles.name','user_facility.role_id')->first();

    $superadmin = $is_super_admin->is_super_admin;
    $specialities = (object) $speciality_id;

    $response = ['is_super_admin' => $superadmin, 'facilities' => array_merge([$specialities,$roles])];

Ваша помощь будет высоко оценена?

1 Ответ

0 голосов
/ 15 мая 2019

Как насчет:

$specialitiesAndRoles = DB::table('roles')
->join('user_facility', 'roles.id', 'user_facility.role_id')
->where('user_facility.user_id', Auth::user()->id)
->select('user_facility.facility_id','user_facility.speciality_id','user_facility.is_facility_supervisor','user_facility.priv_key','roles.name','user_facility.role_id')
->get();

Когда вы все равно присоединяетесь к обоим столам. Просто выберите все из объединенной таблицы. Пожалуйста, проверьте / добавьте, если у вас есть еще, где пункты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...