Метод whereTime
Метод whereTime применяется к запросу Eloquent
или Query Builder и позволяет выполнять фильтрацию
записей по времени из поля типа datetime или timestamp.
В качестве первого параметра передаётся имя колонки,
вторым - оператор сравнения, третьим - значение времени
в формате 'HH:MM:SS'. Если оператор не указан,
используется равенство.
Синтаксис
<?php
Model::whereTime($column, $operator, $value);
?>
Пример
Давайте выберем все заказы, которые были созданы ровно в 14:30:00:
<?php
use AppModelsOrder;
$orders = Order::whereTime('created_at', '14:30:00')->get();
foreach ($orders as $order) {
echo $order->id;
}
?>
Результат выполнения кода:
[1, 3, 5]
Пример
Давайте выберем все заказы, созданные после 12:00:00:
<?php
use AppModelsOrder;
$orders = Order::whereTime('created_at', '>', '12:00:00')->get();
foreach ($orders as $order) {
echo $order->id . ' ' . $order->created_at;
}
?>
Результат выполнения кода:
"1 2026-09-08 14:30:00"
"2 2026-09-08 15:45:00"
"3 2026-09-08 14:30:00"
Пример
Давайте выберем все заказы, созданные в промежутке времени с 10:00:00 по 18:00:00:
<?php
use AppModelsOrder;
$orders = Order::whereTime('created_at', '>=', '10:00:00')
->whereTime('created_at', '<=', '18:00:00')
->get();
foreach ($orders as $order) {
echo $order->id;
}
?>
Результат выполнения кода:
[1, 2, 3, 4]
Пример
Давайте посчитаем количество заказов, созданных в рабочее время (с 09:00:00 по 18:00:00):
<?php
use AppModelsOrder;
$count = Order::whereTime('created_at', '>=', '09:00:00')
->whereTime('created_at', '<=', '18:00:00')
->count();
echo $count;
?>
Результат выполнения кода:
"7"
Смотрите также
-
метод
whereDate,
который фильтрует по дате -
метод
whereYear,
который фильтрует по году -
метод
whereMonth,
который фильтрует по месяцу -
метод
whereDay,
который фильтрует по дню месяца