Laravel Eloquent hasMany через больше чем 2 join
Я хочу получить сущность и связанные с ней данные. Есть таблицы А (таблица нужной мне сущности) и таблицы Б, В, Г, Д, где Д связана через все из этих таблиц с А.
Если использовать ORM то можно сделать так, но тогда данные будет не вложенными (объектA->Д->полеИзТаблицыД)
DB::connection()
->table('A')
->select('A.id', 'Д.очень_важное_поле')
->join('Б', 'Б.А_id', 'А.id')
->join('В', 'В.В_id', 'Б.id')
->join('Г', 'Г.Г_id', 'В.id')
->join('Д', 'Д.Д_id', 'Г.id')
-get()
Вопрос такой, могу ли я описать через Eloquent Model эту связь так что бы потом сделать A::with('Д')->all();?
Ответы (1 шт):
Автор решения: Винсентэ Пуххини
→ Ссылка
Что насчет вложенных связей?
A::with('b.companies.persons.name')->get();
A::with(['b.companies.persons.name' => function ($query) {
$query->select('id', '...');
}])->get();