Carbon
値オブジェクトのように動作しない (つまり、不変ではない) ため、次のようになります。
$date->startOfDay();
$date->endOfDay();
オブジェクトを変更して$date
戻すだけです。そうは言っても、クエリに渡される文字列は、がすでにに変更PDO
されている場合に、準備されたステートメントでそれをバインドするときに取得されます。$date
endOfDay
これは、オブジェクトへの参照を渡すだけであることを意味します。
$start === $end; // true
したがって、別のオブジェクトを使用します。
$users = User::where('created_at', '>', $date->copy()->startOfDay())
->where('created_at', '<', $date->copy()->endOfDay())
->get();
Carbon
または、オブジェクトの代わりに必要な文字列を返すだけです:
$users = User::where('created_at', '>', $date->startOfDay()->toDateTimeString())
->where('created_at', '<', $date->endOfDay()->toDateTimeString())
->get();
それでも、タイムスタンプ$date
が保持されるxxxx-xx-xx 23:59:59
ようになったため、この変数を別の場所で使用する必要がある場合に備えて、これを覚えておいてください。