laravel按天、按小时,查询数据的实例
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-28 19:54:04 浏览: 评论:0
今天小编就为大家分享一篇laravel按天、按小时,查询数据的实例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧
使用laravel做后台数据统计的时候,需要查询每天的注册量之类的数据
这时候如果直接用created_at分组,是不好用的。
1、所以本文解决这个查询应该怎么写。
2、并且推荐一个时间选择插件,因为统计中一定会用到,本周数据、本月、本季度、上个月。
按天分组数据:
- 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();
如果想按小时分组所有查询出来的数据:
- 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()
分享一个时间选择插件
我把我改好的代码附上:
- $(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时候,因为地图权限没有,所以要加载百度地图,这个坑另开帖子记录吧。
Tags: laravel按天查询 laravel按小时

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)