我有一个问题表,它有一个列 created_at 和状态,可以为“打开”或“关闭” >
我需要根据每月的状态来获取问题的数量。 我想得到这样的东西:
January 2018: {
open: 300,
closed: 28,
},
February 2018: {
open: 250,
closed: 80
}
我不知道是否有更好的方法,对于如何检索数据我可以提出建议。基本上,我正在创建一个管理仪表盘,并希望在图表中显示数据。
答案 0 :(得分:0)
假设您正在使用MySQL:
$months = Issue::select(
DB::raw("date_format(created_at, '%M %Y') month"),
DB::raw("sum(if(status = 'Open', 1, 0)) open"),
DB::raw("sum(if(status = 'Closed', 1, 0)) closed")
)->groupBy('month')->get();
您可以使用keyBy()
设置密钥:
$months = $months->keyBy('month');