Laravel Eloquent Query с использованием withCount и get ([имя как значение]) - PullRequest
1 голос
/ 26 июня 2019

У меня проблема с laravel, когда я пытаюсь получить записи, используя withCount, но хочу вернуть поле под другим именем.Если я удалю getCount, запрос вернет поля правильно, однако, когда я добавлю в withCount, он проигнорирует предложение AS в операторе.

Maker::where('type_id', $request->type_id)->get(['maker_name AS label', 'id AS value']);

Корректно возвращает массив объектов с меткой метки реквизитаи 'value'

Maker::where('type_id', $request->type_id)->has('maker')->has('listing')->withCount(['listing'])->get(['maker_name AS label', 'id AS value']);

Этот оператор игнорирует предложение AS и просто возвращает записи из базы данных с добавленным полем перечисления_count

Что мне нужно, так это запрос на возврат:

[
   {
     label : 'string',
     value : int,
     listing_count : int
    },
    ...


]

1 Ответ

6 голосов
/ 26 июня 2019

Вы должны попробовать следующий код

Maker::select(['maker_name AS label', 'id AS value'])->where('type_id', $request->type_id)->has('maker')->has('listing')->withCount(['listing'])->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...