我有一个问题表,它有一列created_at,状态可以是'打开'或'关闭'
我需要根据每月的状态来计算问题。我想得到这样的东西:
January 2018: {
open: 300,
closed: 28,
},
February 2018: {
open: 250,
closed: 80
}
我不知道是否有更好的方法,我愿意接受如何检索数据的建议。基本上我正在创建一个管理仪表板,并希望在图表中显示数据。
假设您使用的是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');