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);