Laravel: запрос всех записей с отметкой времени от сегодняшнего дня - PullRequest
3 голосов
/ 16 февраля 2020

У меня есть таблица заказов, которая имеет поле scan_date в unix временном коде. Я пытаюсь получить все заказы с scan_date В течение текущего дня. Первоначально я использовал whereBetween() для получения заказов в течение последних 24 часов после каждого запуска, но я понял, что это не совсем то, что мне нужно.

->whereBetween('scan_date', [Carbon::now()->addDays(-1), Carbon::now()])

Если у заказа есть scan_date в период с 12:01 до 23:59 текущего дня, я хочу получить все эти заказы - возможно ли сделать запрос?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2020

Аналогично тому, что вы делали, с небольшой модификацией:

$today = \Carbon\Carbon::today();
$startOfDayTimestamp = $today->copy()->startOfDay()->timestamp;
$endOfDayTimestamp = $today->copy()->endOfDay()->timestamp;

->whereBetween('scan_date', [
    $startOfDayTimestamp,
    $endOfDayTimestamp
])
0 голосов
/ 16 февраля 2020

Вы можете использовать whereDate, на Laravel <5.7 вы должны отформатировать дату до <code>Y-m-d перед ее передачей:

->whereDate('scan_date', Carbon::now()->toDateString())

На Laravel> = 5.7 вы можете передать экземпляр DateTimeInterface напрямую:

->whereDate('scan_date', Carbon::now())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...