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

 更新时间:2019年10月09日 14:40:44   转载 作者:yu_sheng_  
今天小编就为大家分享一篇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按天、按小时,查询数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 正版phpstorm免费激活步骤教程详解

    正版phpstorm免费激活步骤教程详解

    PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。这篇文章主要介绍了正版phpstorm免费激活步骤,需要的朋友可以参考下
    2020-01-01
  • ThinkPHP3.1新特性之多数据库操作更加完善

    ThinkPHP3.1新特性之多数据库操作更加完善

    对于早期版本的ThinkPHP来说,切换数据库需要使用高级模型,而现在的3.1版本则可以更加轻松的解决了。这篇文章主要介绍了ThinkPHP3.1对多数据库操作,需要的朋友可以参考下
    2014-06-06
  • php文件上传及下载附带显示文件及目录功能

    php文件上传及下载附带显示文件及目录功能

    这篇文章主要介绍了php文件上传及下载附带显示文件及目录功能,需要的朋友可以参考下
    2017-04-04
  • php四种基础算法代码实例

    php四种基础算法代码实例

    算法是程序的核心,今天我们就学习一下php的四种基础算法:冒泡,选择,插入和快速排序法。
    2013-10-10
  • php实现给一张图片加上水印效果

    php实现给一张图片加上水印效果

    本文给大家汇总了2个php实现给图片加水印的功能,第一个比较简单易懂,第二个功能强大些,而且给大家封装了起来,有需要的小伙伴可以参考下
    2016-01-01
  • Yii2框架自定义验证规则操作示例

    Yii2框架自定义验证规则操作示例

    这篇文章主要介绍了Yii2框架自定义验证规则操作,结合实例形式分析了Yii2自定义验证规则实现方法、操作技巧与注意事项,需要的朋友可以参考下
    2019-02-02
  • php网页版聊天软件实现代码

    php网页版聊天软件实现代码

    这篇文章主要介绍了php网页版聊天软件实现代码,可以实现匿名聊天,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • thinkPHP实现上传图片及生成缩略图功能示例

    thinkPHP实现上传图片及生成缩略图功能示例

    这篇文章主要介绍了thinkPHP实现上传图片及生成缩略图功能,结合实例形式分析了thinkPHP图片上传及缩略图设置、生成、保存、数据库写入等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • php微信扫码支付 php公众号支付

    php微信扫码支付 php公众号支付

    这篇文章主要为大家详细介绍了php微信扫码支付,php公众号支付功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Yii2中cookie用法示例分析

    Yii2中cookie用法示例分析

    这篇文章主要介绍了Yii2中cookie用法,结合实例形式简单分析了Yii2中cookie的设置、读取、配置等相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07

最新评论