Laravel извлекает только определенные поля из каждого элемента коллекции - PullRequest
0 голосов
/ 30 сентября 2018

Возможно, мне не хватает чего-то чрезвычайно тривиального, но возможно ли извлечь определенные столбцы / поля из моделей при получении коллекции, а не возвращать поля всего элемента?

Вот мой запрос:

$items = Items::where('visible', true)->take(10)->get();

Это, очевидно, возвращает каждый элемент целиком, включая уникальные идентификаторы и другие поля, которые я не хочу получать ... Как я могу уточнить этот запрос, чтобы просто выбрать конкретные поля из моделей?

Ответы [ 3 ]

0 голосов
/ 30 сентября 2018

Используйте для этого метод select():

$items = Items::select(['column_1', 'column_2']'])->where('visible', true)->take(10)->get();

Источник: Построитель запросов к базе данных Latavel

0 голосов
/ 30 сентября 2018

Laravel Query Builder дает огромную гибкость при написании запросов такого типа.Вы можете использовать методы select (), get (), all ().

Items::where('visible', true)->take(10)->get('col_1', 'col_2');

ИЛИ

Items::select('col_1', 'col_2')->where('visible', true)->take(10)->get();
Items::select(['col_1', 'col_2'])->where('visible', true)->take(10)->get();
0 голосов
/ 30 сентября 2018

Eloquent collection get() функция получает массив столбцов, которые вам нужно получить.

$items = Items::where('visible', true)->take(10)->get(['column_1', 'column_2']);

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