Как получить определенные столбцы в Laravel, используя eloquent по запросу «User :: with»? - PullRequest
0 голосов
/ 22 октября 2018

Итак, у меня есть красноречивый запрос в Laravel с этим утверждением.Все его отношения настроены правильно, и мой вопрос заключается в том, чтобы ограничить выборку данных определенными столбцами данных «с».

Как видите, таблица отношений «userIsFollowingAuthor» - одна из 3 таблиц, которые я включаюкак отношения.

Но как выбрать из этих отдельных отношений только конкретные столбцы?Например, мне нужны только "first_name" и "avatar_id" из вышеупомянутых отношений, а не полный набор данных.

$user_dashboard_data = User::with('profile', 'favorites', 'userIsFollowingAuthor')->find($user->id);

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете ограничить запрос на загрузку, передав значение замыкания в качестве значения и отношение в качестве ключа во входном массиве with:

User::with(['userIsFollowingAuthor' => function($q) {
    $q->select(['column1', 'column2']);
});

Однако вы используете find (получение одной модели)так что нет никакой выгоды загружать.

Вы можете запросить любое отношение, используя метод отношения:

$user->userIsFollowingAuthor()->select(['column1', 'column2'])->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...