• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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时候,因为地图权限没有,所以要加载百度地图。这个坑另开帖子记录吧。

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

    您可能感兴趣的文章:
    • Laravel统计一段时间间隔的数据方法
    • laravel实现按月或天或小时统计mysql数据的方法
    • 解决laravel id非自增 模型取回为0 的问题
    • 解决Laravel 使用insert插入数据,字段created_at为0000的问题
    上一篇:laravel多条件查询方法(and,or嵌套查询)
    下一篇:浅谈PHP5.6 与 PHP7.0 区别
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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