У меня есть модель Eloquent, и в модели я использую запрос области для соединения. Все это работает отлично, но я пытаюсь выяснить, как в запросе области выбрать только определенные столбцы из объединенной таблицы.Laravel 5 Eloquent scope join и select specific columns
Это метод в моем контроллере.
$accounts = Account::creator()->get();
Вот область запроса в модели
public function scopeCreator($query) {
$query->leftJoin('users','users.id','=','accounts.creator_id');
}
Это работает, но он возвращает все столбцы со счетов и пользователей, но я хочу только все столбцы со счетов и только 2 колонки из пользователи.
Я попытался это ...
public function scopeCreator($query) {
$query->leftJoin('users','users.id','=','accounts.creator_id')->select(array('id','user_name'));
}
Однако это возвращает только те 2 поля от пользователей и игнорирует столбцы со счетов. Я знаю, как это сделать с помощью двух разных моделей, но это значит, что я должен создать бесполезную модель. Эта функциональность запроса области полезна, если я могу просто вычислить эту часть.
Справка приветствуется.
Это отлично ... спасибо! – bakamike
Большинство Добро пожаловать :-) –