我正在尝试获取属于上个月的所有记录,到目前为止,我设法从上个月获得所有记录,但到今天为止,我不确定如何才能获得上个月的记录
$revenueMonth = Callback::where('created_at', '>=', Carbon::today()->startOfMonth()->subMonth())->sum('payment');
答案 0 :(得分:4)
更明确的解决方案:
$revenueMonth = Callback::whereMonth(
'created_at', '=', Carbon::now()->subMonth()->month
);
答案 1 :(得分:1)
尝试此解决方案:
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->subDays(30)->toDateTimeString()
);
过去30天你得到所有回叫。
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->firstOfMonth()->toDateTimeString()
);
获取当月。
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->startOfMonth()->subMonth()->toDateString()
);
上个月开始。
<强>已更新强>
$revenueMonth = Callback::where(
'created_at', '>=', Carbon::now()->subMonth()->toDateTimeString()
);
这就是你在找什么:)
希望它会对你有所帮助:)。
答案 2 :(得分:1)
没有任何答案让我到达我想去的地方:(。
我有一个解决方案,但我觉得它很难看,希望它可以变得更干净
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
$revenueLastMonth = Callback::whereBetween(DB::raw('date(created_at)'), [$fromDate, $tillDate])->get();
这将给出我正在寻找的结果,这是我的记录:
2017-09-07 09:46:43
2017-09-07 09:46:43
2017-09-07 09:46:43
2017-09-02 09:46:43
2017-08-07 09:46:43
我希望它仅返回2017年8月的记录(2017-08-07 09:46:43)
答案 3 :(得分:0)
<强>已更新强> 雄辩的答案
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
$revenueLastMonth = Callback::whereBetween('created_at',[$fromDate,$tillDate])->get();