Получить счет на основе столбца из коллекции Laravel - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть коллекция, и я сгруппировал их по городам.

$collection = Order::with([
            'orderItems',
            'customer'
        ])->get();

$batches = $collection->groupBy('cities');

$mumbai = $batches->get('membai')

В каждой группе коллекции, такой как $ mumbai, у меня есть столбец «status», я хочу получить его количество в виде чиселзаказов со статусом «доставлено», «ожидающий» и т. д. Как это сделать? Любая помощь будет очень ценной.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

К подсчет столбец по случай, когда

Таким образом, вы можете получить весь этот счет статуса в одной сгруппированной записи.

Я думаю, что выможет сделать что-то вроде этого.

$collection = Order::with([
            'orderItems',
            'customer'
        ])->groupBy('cities')
          ->select(\DB::raw('
               SUM(CASE 
                   WHEN status = "delivered" THEN 1
                   ELSE 0
               END) AS delivered_count,
               SUM(CASE 
                   WHEN status = "pending" THEN 1
                   ELSE 0
                   END) AS pending_count
            '), 'membai')->get();

Надеюсь, это поможет вам.

0 голосов
/ 04 ноября 2019

Попробуйте сделать так:

$collection = Order::groupBy('group_id')
->selectRaw('count(*) as total, group_id')
->get();

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...