Задать вопрос
EugeneOne77
@EugeneOne77
Laravel, Vue, Wordpress разработчик.

Можно ли получить коллекцию в которой каждый объект содержит все дочерные записи одним запросом?

В документации, стандартная жадная загрузка:
$books = App\Models\Book::with('author')->get();

foreach ($books as $book) {
    echo $book->author->name;
}

А возможно получить коллекцию авторов, в которой у каждого автора есть books которая содержит все книги этого автора без foreach, join и т.п. и без создания отдельного метода в Author? Что-нибудь типа
Author::all()->books()
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@jazzus
Author::with('books')->get(); и получит коллекцию авторов с их книгами, если hasMany связь есть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
EugeneOne77
@EugeneOne77 Автор вопроса
Laravel, Vue, Wordpress разработчик.
Спасибо. Я просто дампом посмотрел результат - там книг вроде нет. После ответа, глянул вызовы в панели - все работает. Не учел, что ларавел все учитывает, включая foreach в блейде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы