Laravel Eloquent Select 当前月份和前 3 个月之间

Laravel Eloquent Select Between current month and previous 3 months

我正在尝试构建一个查询,该查询将 select 我数据库中从现在(当月)到前 3 个月的所有记录。

我的查询有点用,但我想忽略一个月中的某一天。目前,select 也将最后 # 个月计算到当前日期,但我想忽略当前日期并使用月份的开始和结束。

这是我的查询:

$dateS = Carbon::now()->subMonth(3);
$dateE = Carbon::now(); 
$TotalSpent = DB::table('orders')
->select('total_cost','placed_at')
->whereBetween('placed_at',[$dateS,$dateE])
->where(['deleted' => '0', 'delivery_address_id' => $DeliveryAddress->id])
->sum('total_cost');

如有任何帮助,我们将不胜感激。真的很烦我!

我猜这样就可以了

$dateS = Carbon::now()->startOfMonth()->subMonth(3);
$dateE = Carbon::now()->startOfMonth(); 
$TotalSpent = DB::table('orders')
->select('total_cost','placed_at')
->whereBetween('placed_at',[$dateS,$dateE])
->where(['deleted' => '0', 'delivery_address_id' => $DeliveryAddress->id])
->sum('total_cost');

startOfMonth() 从每月的第一天开始

使用碳:

$data = Data::where("created_at",">", Carbon::now()->subMonths(6))->get();

您需要导入命名空间才能使用 Carbon:

use Carbon\Carbon;