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实现文件上传二法
Oct 09 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
PHP基于imap获取邮件实例
Nov 11 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP书写格式详解(必看)
May 23 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
php外部执行命令函数用法小结
Oct 11 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
Laravel相关的一些故障解决
Aug 19 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
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
NodeJS实现同步的方法
2019/03/02 NodeJs
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python取代netcat过程分析
2018/02/10 Python
Python爬豆瓣电影实例
2018/02/23 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
什么是Python包的循环导入
2020/09/08 Python
创立科技Java面试题
2015/11/29 面试题
春季运动会广播稿大全
2014/02/19 职场文书
四年级学生期末评语
2014/12/26 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript