Laravel 日付範囲間の日付のクエリ
Laravel では、whereBetween メソッドを使用して、日付またはdatetime 列は指定された範囲内にあります。これは、特定の期間内に期限切れまたは更新が予定されているレコードを取得するなどのタスクに役立ちます。
元の質問:
作成者は当初、期限が切れるプロジェクトを選択するためのクエリを探していました。次の 7 日間で繰り返しまたは更新するには、where メソッドを使用して、特定のタイムスタンプより後の日付を確認します。
解決策:
ただし、作成者は次のことを発見しました。現在の日付から 7 日を引いた日付をクエリする必要があるということです。これは、次のように whereBetween メソッドを使用して実現されました。
<code class="php">$projects = Project::whereBetween('recur_at', [ Carbon::now(), Carbon::now()->addWeek() ]) ->where('status', '<', 5) ->where('recur_cancelled', '=', 0) ->get();</code>
改良されたクエリ:
2 番目のソリューションは、where メソッドを使用して条件を直接連鎖させることで改善されました。
<code class="php">$projects = Project::where('recur_at', '<=', Carbon::now()->addWeek()) ->where('recur_at', '!=', "0000-00-00 00:00:00") ->where('status', '<', 5) ->where('recur_cancelled', '=', 0) ->get();</code>
これによりクエリが簡素化され、function(q) 構文が不要になりました。
以上がLaravelで日付範囲内のレコードをクエリする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。