私は先月に属するすべてのレコードを取得しようとしています。これまでのところ、先月からすべてを取得することができましたが、今日まで今日まで、どうすれば先月のみを取得できるのかわかりません
$revenueMonth = Callback::where('created_at', '>=', Carbon::today()->startOfMonth()->subMonth())->sum('payment');
あなたの問題に対するより明確な解決策:
$revenueMonth = Callback::whereMonth(
'created_at', '=', Carbon::now()->subMonth()->month
);
この解決策を試してください:
$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()
);
これはあなたが探しているものです:)
それがあなたを助けることを願っています:)
答えのどれも私が行きたいと思っているところに私を導きません:(。
私には解決策がありますが、それは醜いと思いますし、もっときれいにできるといいのですが
$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)
[〜#〜]更新[〜#〜]あなたの答えの雄弁なバージョン
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
$revenueLastMonth = Callback::whereBetween('created_at',[$fromDate,$tillDate])->get();