Есть несколько моделей, которые нужно получить в одном массиве используя только один запрос к БД.
В контроллере выглядит так:
$data_table = Physical_Entity::with(['user'])
->with(['portfolio'])
->with(['works'])
->with(['qualification'])
->get();
return view('table', compact('data_table'));
Но таблица qualifications выглядит так:
- id
- user_id
- specialization_id
а specializations так:
Пробую в модели Physical_Entity такой метод:
public function qualification()
{
return $this->hasMany(Qualification::class);
}
И получаю массив такого вида:
Array ( [0] => Array (
[qualification] => Array ( [0] => Array (
[id] => 1
[user_id] => 1
[specialization_id] => 2
[created_at] => 2021-06-16T15:28:31.000000Z
[updated_at] => 2021-07-05T18:27:38.000000Z )
[1] => Array (
[id] => 2
[user_id] => 1
[specialization_id] => 1
[created_at] => 2021-06-16T15:30:46.000000Z
[updated_at] => 2021-07-06T12:10:01.000000Z
) )
Как сделать вложенный запрос в метод
qualification()
чтобы обращение к классу
Qualification было уже с пересечением с таблицей
specializations
?
Т.е. чтобы после каждой записи в массиве получать
name
каждой специализации
А может другим способом это возможно сделать?