如何使用Laravel按日期分组和统计记录?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Laravel按日期分组和统计记录?相关的知识,希望对你有一定的参考价值。
我有一个问题表,它有一列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');
以上是关于如何使用Laravel按日期分组和统计记录?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 按日期分组,如 MySQL 查询 GROUP BY MONTH(fields) [关闭]
mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法