Laravel口才选择在当前月份和前三个月之间

Llo*_*wen 2 laravel eloquent php-carbon laravel-5

我正在尝试建立一个查询,该查询将选择现在(本月)与前3个月之间数据库中的所有记录。

我的查询有些奏效,但我想忽略该月的某天。目前,它也选择了当前日期的最后几个月,但是我想忽略当前日期并使用月份的开始和结束。

这是我的查询:

$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');
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。真的让我烦死了!

Mr.*_*mid 5

我猜这可以解决问题

$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');
Run Code Online (Sandbox Code Playgroud)

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