如何计算嵌套在二级 groupBy 中的项目?

How to count items that are nested inside a second level groupBy?

$bookings = Salon::find(3)->bookings;

$bookings->groupBy(['booking_status', function ($item) {
            return \Carbon\Carbon::parse($item['created_at'])->format('Y-m');
}])->toArray();

这给了我下面。

"confirmed" => [
       "2020-12" => [
         [],[],[],[]
        ]
];

但是,我正在寻找类似下面的内容:

"confirmed" => [
       "2020-12" => 4
];

既然你有两级分组,想在第二级计数,那么你可以这样做:

$bookings = Salon::find(3)->bookings;

$bookings->groupBy(['booking_status', function ($item) {
    return \Carbon\Carbon::parse($item['created_at'])->format('Y-m');
}])->map(function ($dateGroup) {
   return $dateGroup->map->count();
})->toArray();