Выбор только обязательных полей из БД в laravel с помощью with () - PullRequest
0 голосов
/ 14 мая 2018
foreach(Book::with('author')->get() as $book)
{ 
   echo $book->author->name;
}

Вышеуказанный цикл похож на два запроса:

select * from books

select * from authors where id in (1, 2, 3, 4, 5, ...)

Если я хочу выбрать только обязательные поля, например, запрос ниже, используя laravel 5.6, как я могу это сделать?

select book_name, book_description from books

select author_name from authors where id in (1, 2, 3, 4, 5, ...)

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Используйте это:

Book::with('author:id,author_name')->get(['book_name', 'book_description', 'author_id']);
0 голосов
/ 14 мая 2018
foreach(Book::with('author' => function($query){ $query->select('id', 'author_name'); })->select('book_name', 'book_description')->get() as $book)
{ 
   echo $book->author->name;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...