2 回答
TA贡献1909条经验 获得超7个赞
您可以尝试按日期汇总,使用面具 :DATE_FORMAT%Y-%m
$results = Post::select(\DB::raw("DATE_FORMAT(created_at, '%Y-%m') AS ym, COUNT(*) AS cnt"))
->groupBy(\DB::raw("DATE_FORMAT(created_at, '%Y-%m')"))
->get();
如果您的实际数据库是Postgres,那么使用类似的方法应该有效:TO_CHAR
$results = Post::select(\DB::raw("TO_CHAR(created_at, 'YYYY-MM') AS ym, COUNT(*) AS cnt"))
->groupBy(\DB::raw("TO_CHAR(created_at, 'YYYY-MM')"))
->get();
TA贡献1866条经验 获得超5个赞
给你
return Post::select(DB::raw('count(1) AS count'), DB::raw('DATE_FORMAT(created_at, "01-%m-%Y") AS month'))->groupBy(function($post) { // Get all posts as collection and apply groupBy method
$post->created_at->format('01-m-Y'); // ex: 01-02-2019
})->get()
我希望这对你有用...
- 2 回答
- 0 关注
- 82 浏览
添加回答
举报
