首页 > 解决方案 > 根据天数获取记录 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() }}

标签: mysqllaravelphp-carbon

解决方案


试试这个代码

?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


推荐阅读