您的位置:首页 > 编程学习 > > 正文

laravel数据查询(laravel按天、按小时,查询数据的实例)

更多 时间:2021-10-10 00:56:28 类别:编程学习 浏览量:104

laravel数据查询

laravel按天、按小时,查询数据的实例

使用laravel做后台数据统计的时候,需要查询每天的注册量之类的数据

这时候如果直接用created_at分组,是不好用的。

1、所以本文解决这个查询应该怎么写。

2、并且推荐一个时间选择插件,因为统计中一定会用到,本周数据、本月、本季度、上个月。。。。

按天分组数据:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Event::where('created_at','>',Carbon::parse($request->start_date))
  • ->where('created_at','<',Carbon::parse($request->end_date))
  • //两个where限制开始结束时间
  • ->groupBy('date')
  • ->get([DB::raw('DATE(created_at) as date'),DB::raw('COUNT(*) as value')])
  • ->toArray();
  • 如果想按小时分组所有查询出来的数据:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • Event::where('created_at','>',Carbon::parse('2017-01-01'))
  • ->where('created_at','<',Carbon::parse('2017-11-09'))
  • ->groupBy('day')
  • ->get([
  • //通过date_format()来格式化created_at字段
  •  DB::raw('DATE_FORMAT(created_at,\'%H\') as day'),
  •  DB::raw('COUNT(*) as value')])
  • ->toArray()
  • 分享一个时间选择插件

    这是官网地址

    我把我改好的代码附上:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • $(function () {
  • /*设置开始结束时间*/
  •  var start = moment().subtract(30, 'days');
  •  var end = moment().subtract(-1,'day');
  •  var datas = {};
  • /*选择之后,将时间重新赋值input*/
  •  function cb(start, end) {
  •   $('#reportrange span').html(start.format('YYYY/MM/DD') + ' - ' + end.format('YYYY/MM/DD'));
  •  }
  •  $('#reportrange').daterangepicker({
  •  startDate: start,
  •  endDate: end,
  •  /*本地化数据*/
  •  locale: {
  •   "format": "YYYY/MM/DD",
  •   "separator": " - ",
  •   "applyLabel": "应用",
  •   "cancelLabel": "关闭",
  •   "fromLabel": "From",
  •   "toLabel": "至",
  •   "customRangeLabel": "自定义",
  •   "weekLabel": "W",
  •   "daysOfWeek": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"
  •   ],
  •   "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
  •   ],
  •   "firstDay": 1
  •  },
  •  ranges: {
  •   '今天': [moment(), moment().subtract(-1, 'days')],
  •   '昨天': [moment().subtract(1, 'days'), moment()],
  •   '前7天': [moment().subtract(7, 'days'), moment()],
  •   '前30天': [moment().subtract(30, 'days'), moment()],
  •   '本月': [moment().startOf('month'), moment().endOf('month').subtract(-1,'day')],
  •   '上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1,'day')],
  •   '所有': [moment("2017-09-25"), moment().subtract(-1, 'days')]
  •  }
  • }, cb);
  •  
  •  cb(start, end);
  • });
  • 超级好用,结合echart

    在用echart的map时候,因为地图权限没有,所以要加载百度地图。这个坑另开帖子记录吧。

    以上这篇laravel按天、按小时,查询数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/yushengphper/article/details/78498368

    您可能感兴趣