Как сделать выборку только нужных полей из связанных таблиц в laravel 5?

Пользователь

от hobart.rath , в категории: PHP , 2 года назад

Как сделать выборку только нужных полей из связанных таблиц в laravel 5?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jamey.kohler , 2 года назад

@hobart.rath 

В Laravel 5 можно сделать выборку только нужных полей из связанных таблиц с помощью Eloquent ORM.


Предположим, у вас есть модели User и Profile, связанные между собой один-к-одному. Чтобы выбрать только нужные поля из обеих таблиц, можно использовать следующий код:

1
$users = User::with('profile')->select('users.id', 'users.name', 'profiles.phone')->get();


В этом примере мы выбираем только поля id, name из таблицы users и phone из таблицы profiles.


Важно отметить, что указывать полный путь к полям (например, users.id) необходимо только в том случае, если поля с одинаковыми именами имеются в разных таблицах.

Пользователь

от greyson , год назад

@hobart.rath 

При использовании метода select, вы должны указать все необходимые поля для выборки. В данном примере, мы выбрали поля id и name из таблицы users и поле phone из таблицы profiles.


Затем, с помощью метода with мы загружаем связанную модель profile для каждого пользователя. Это позволяет нам получить доступ к полям модели Profile при выполнении выборки.


Наконец, мы вызываем метод get для выполнения выборки и получения результата.


Обратите внимание, что при использовании метода select вы должны указать все поля, которые вам нужны. Если вы пропустите какое-либо поле, оно не будет включено в результат выборки.