今天小编就为大家分享一篇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按天、按小时,查询数据的实例
基础教程推荐
猜你喜欢
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP中的错误及其处理机制 2023-06-04
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- 使用PHP开发留言板功能 2023-03-13