为了账号安全,请及时绑定邮箱和手机立即绑定

如何在laravel中获取每个月的帖子计数

如何在laravel中获取每个月的帖子计数

PHP
一只甜甜圈 2022-08-19 15:28:21
我想在我的laravel应用程序中制作图表,我想显示每个月创建了多少帖子,所以我需要一种如下的API:{count:22,month:1-1-2020},{count:18,month:1-2-2020}这是我试图做的:       return Post::all()->groupBy(function($post) { // Get all posts as collection and apply groupBy method            $post->created_at->format('F'); // ex: September        });但是按月份对计数进行分组不起作用,所以有没有办法实现这一点?
查看完整描述

2 回答

?
jeck猫

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();


查看完整回答
反对 回复 2022-08-19
?
心有法竹

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()

我希望这对你有用...


查看完整回答
反对 回复 2022-08-19
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号