Я разработчик из Cake PHP и делаю свой первый проект с Laravel. В Cake PHP, когда я определял модель и ее отношения, была возможность установить стратегию объединения для отношения: strategy
(join
или select
). По умолчанию он использует join
, и когда я загружаю связанную модель, он делает это в одном запросе, добавляя оператор JOIN
. При желании вы можете использовать select
, который будет генерировать отдельный запрос.
Теперь, когда я использую готовую загрузку в Laravel, например:
$user = App\User::with(['articles'])->first();
Это фактически приводит к генерируются два запроса: один для получения записи пользователя и один для получения связанных статей. Это так же, как если бы я указал стратегию select
в моей модели Cake PHP. Однако вместо этого я бы хотел использовать стратегию join
, чтобы можно было упорядочивать или фильтровать по столбцу связанной таблицы. Я еще не нашел способ сделать это. Существует ли что-то подобное в laravel / eloquent?