Laravelで特定のテーブルのcreated_atカラムの値を検索対象にした時、「指定日以前(指定日と同じかそれより前)」という条件でヒットしてくれず、

指定日より前の値だけが検索結果にヒットする場合。

おそらくwhereを使って検索している。

whereDateで検索すべし。

ただのwhereになっているパターン

指定日以降(指定日含む)を検索したい場合

×$Record->where('created_at','>=', '2022-10-27');

$Record->whereDate('created_at','>=', '2022-10-27');

指定日以前指定日含む)を検索したい場合

×$Record->where('created_at','<=', '2022-10-27');

$Record->whereDate('created_at','<=', '2022-10-27');

betweenを使ってるパターン

これも指定日が含まれなくなるのでwhereDateを使ったほうがいい。

×$Record->whereBetween('created_at', ['2022-01-01', '2022-12-31'])->get();

$Record->whereDate('created_at','>=', '2022-01-01')->whereDate('created_at','<=', '2022-12-31);

参考にしたサイト
【Laravel】Query Builder(クエリビルダー) - 各種where句の使い方

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事