mysql - 根据天数获取记录 laravel carbon
问题描述
例如,我想根据天数获取记录
1) > 180 天 = 创建的记录数
2) 90 到 180 天 = 创建的记录数
3) 60 到 90 天 = 创建的记录数
4) 30 到 60 天 = 创建的记录数
但我没有得到确切的结果。这是正确的方法吗?
我在刀片视图中尝试过的内容
<?php
$date1 = \Carbon\Carbon::today()->subDays(180);
$date2 = \Carbon\Carbon::today()->subDays(90);
$date3 = \Carbon\Carbon::today()->subDays(60);
$date4 = \Carbon\Carbon::today()->subDays(30);
?>
in blade
{{ \App\Claim::where('created_at','>=', $date1)->count() }}
{{ \App\Claim::where('created_at','>=', $date2)->where('created_at','<', $date1)->count() }}
{{ \App\Claim::where('created_at','>=', $date3)->where('created_at','<', $date2)->count() }}
{{ \App\Claim::where('created_at','>=', $date4)->where('created_at','<', $date3)->count() }}
{{ \App\Claim::where('created_at','<=', $date4)->count() }}
解决方案
试试这个代码
?php
$date1 = \Carbon\Carbon::today()->subDays(180)->format('Y-m-d');
$date2 = \Carbon\Carbon::today()->subDays(90)->format('Y-m-d');
$date3 = \Carbon\Carbon::today()->subDays(60)->format('Y-m-d');
$date4 = \Carbon\Carbon::today()->subDays(30)->format('Y-m-d');
?>
in blade
{{ \App\Claim::whereDate('created_at','>=', $date1)->count() }}
{{ \App\Claim::whereDate('created_at','>=', $date2)->whereDate('created_at','<', $date1)->count() }}
{{ \App\Claim::whereDate('created_at','>=', $date3)->whereDate('created_at','<', $date2)->count() }}
{{ \App\Claim::whereDate('created_at','>=', $date4)->whereDate('created_at','<', $date3)->count() }}
{{ \App\Claim::whereDate('created_at','<=', $date4)->count() }}
注意:制作变量日期格式Y-m-d
推荐阅读
- ssh - 如何在 VBscript 中使用 SSH
- c# - 错误:将 MySQL 数据源添加到 Visual Studio 项目时“表 'mysql.proc' 不存在”
- tfs - 在哪里可以找到 TFS 2017 中的部署组选项卡?
- python - 如何在 Pandas 数据框的多列上运行 Ta-Lib?
- r - 用于检查 R 中日期格式的字符串模式匹配
- jenkins - 为什么“捆绑安装”需要“sudo”这个“gem env”?
- linux - 无法从脚本 .sh 中删除 .tgz 文件
- php - php7中的`mysql_list_dbs`和`mysql_tablename`
- android - DiffUtil 和 notifyItemInserted 之间的区别
- python - Django - 熊猫数据框顺序