Как считать вещи в многомерных коллекциях в Laravel Eloquent - PullRequest
0 голосов
/ 06 мая 2019

Я хочу посчитать предметы в многомерных коллекциях ларавеллы

Это мой запрос

 $weeklySmsReport = Record::whereNotNull('created_at')->whereBetween('created_at', [now()->startOfWeek(), now()->endOfWeek()])
        ->orderBy('created_at')
        ->get()
         ->groupBy([function ($group) {
            return Carbon::parse($group->created_at)->format('l');
        },'status']);

Это результат

enter image description here

Я хочу вернуть многомерную коллекцию, подобную этой

  [ "Monday" => [
              "failed"=>1 (total count of failed items),
              "Processed" => 2 (total count of processed items)
              ]

]

Как мне этого добиться?

1 Ответ

1 голос
/ 06 мая 2019

Я бы использовал вложенную карту:

$weeklySmsReport = $weeklySmsReport->map(function ($day) {
  return $day->map(function($status) {
    return $status->count();
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...