我有以下数据库:
Reservations
| id | status | created_at |
| 1 | Canceled | 2019-12-16 11:46:11 |
| 2 | Fulfilled | 2019-11-15 23:03:24 |
| 3 | Accepted | 2019-12-13 12:04:13 |
所以我想按月提取其中每个状态计数的集合。 即:
['Month', 'Accepted', 'Fulfilled', 'Canceled'],
['Jul 2019', 4, 5, 9],
['Aug 2019', 5, 6, 7]
我有几种解决方法,但是所有这些方法都需要口才出色,而且看起来也不是很优雅。
答案 0 :(得分:2)
尝试使用Collection :: countBy()方法。 (https://laravel.com/docs/master/collections#method-countBy)
Reservation::countBy('status');
在调用countBy()
函数之前,您始终可以限制查询