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


Posted in PHP onOctober 09, 2019

使用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按天、按小时,查询数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP中调用JAVA
Oct 09 PHP
PHP安装攻略:常见问题解答(二)
Oct 09 PHP
php 在线打包_支持子目录
Jun 28 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 #PHP
Laravel find in set排序实例
Oct 09 #PHP
对laravel in 查询的使用方法详解
Oct 09 #PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 #PHP
Laravel使用原生sql语句并调用的方法
Oct 09 #PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
Oct 09 #PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 #PHP
You might like
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
详解重置Django migration的常见方式
2019/02/15 Python
python Tkinter版学生管理系统
2019/02/20 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
python批量生成条形码的示例
2020/10/10 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
考生诚信考试承诺书
2014/05/23 职场文书
暑假学习心得体会
2014/09/02 职场文书
2015年消防工作总结
2015/04/24 职场文书
女儿满月酒致辞
2015/07/29 职场文书
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS
Nginx配置根据url参数重定向
2022/04/11 Servers
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android