侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2022-06-17 星期五 / 0 评论 / 0 点赞 / 69 阅读 / 3045 字

使用laravel做后台数据统计的时候,需要查询每天的注册量之类的数据这时候如果直接用created_at分组,是不好用的。1、所以本文解决这个查询应该怎么写。2、并且推荐一个时间选择插件,因为统计中一定会用到,本周数据

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

广告 广告

评论区