doutian3010 2016-08-27 03:25
浏览 7

Laravel Group by Custom date Field

I have have more than 16,000 data with corresponding date. I put these date in 'date' field in my table. I want to show these data group by months, I tried but I failed, my date format: date: "2015-08-31 02:12 "

My query:

$data = \App\Crawler::select([
        \DB::raw('count(id) as `count`'), 
        \DB::raw('Month(date) as month')
    ])->groupBy('month')->get(); 

I want:

{
  { 
    month: july
    count: 100
  },
  { 
    month: march
    count: 100
  }
}
  • 写回答

1条回答 默认 最新

  • duanjian7343 2016-08-27 05:29
    关注

    You should be able to get the month name using MySQL's MONTHNAME() function.

    This should work even if you don't have a full timestamp stored.

    $data = \App\Crawler::select([
        \DB::raw('count(id) as `count`'), 
        \DB::raw('monthname(date) as month')
    ])->groupBy('month')->get();
    
    [
        {
            count: 3,
            month: "July"
        },
        {
            count: 1,
            month: "March"
        }
    ]
    
    评论

报告相同问题?

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真