PHP Carbon / Laravel Eloquent - 检查DateTime值是否为当天

时间:2017-08-21 13:43:41

标签: php sql laravel eloquent php-carbon

我正在使用预订系统,只需要选择今天某个字段所在的记录。不是今天和未来,而是今天。

目前的查询是:

$advancedBookings = Booking::where('type', 2)
    ->whereNull('estimated_booking_time')
    ->where('requested_booking_time', ?????);

$advancedBookings->get();

requested_booking_time是我希望检查的字段,存储的日期采用以下格式:

2017-08-23 08:00:00

所以我想只选择与当天相同的行。

3 个答案:

答案 0 :(得分:1)

据我所知,你想要今天创造的记录;然后就到了今天的日期。

$today = date("Y-m-d");

现在您的查询就是这样。

$advancedBookings = Booking::where('type', 2)
    ->whereNull('estimated_booking_time')
    ->where('requested_booking_time', $today)->get();

答案 1 :(得分:0)

你应该试试这个:

$advancedBookings = Booking::where('type', 2)
    ->whereNull('estimated_booking_time')
    ->whereDate('requested_booking_time', '=', date('Y-m-d'))
    ->get();

希望这对你有用!!!

答案 2 :(得分:0)

您可以使用whereDate并使用Carbon格式化日期:

$advancedBookings = Booking::where('type', 2)
    ->whereNull('estimated_booking_time')
    ->whereDate('requested_booking_time', '=' , Carbon::today()->toDateString());

$advancedBookings->get();

或使用Carbon格式化查询前的日期。