Метод whereDate
Метод whereDate применяется к запросу Eloquent
или Query Builder и возвращает тот же запрос,
дополненный условием сравнения по дате.
Первым параметром передаётся имя колонки,
вторым - оператор сравнения (по умолчанию равенство),
третьим - значение даты.
Этот метод игнорирует время в колонках типа datetime
и сравнивает только дату.
Синтаксис
<?php
Model::whereDate($column, $operator, $value);
?>
Пример
Давайте отфильтруем статьи, у которых поле 'created_at'
равно сегодняшней дате:
<?php
use AppModelsArticle;
$today = date('Y-m-d');
$articles = Article::whereDate('created_at', $today)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3"]
Пример
Давайте отфильтруем статьи, у которых поле 'created_at'
больше указанной даты:
<?php
use AppModelsArticle;
$date = '2024-01-01';
$articles = Article::whereDate('created_at', '>', $date)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 4", "article 5", "article 6"]
Пример
Давайте отфильтруем статьи, у которых поле 'created_at'
находится в диапазоне дат:
<?php
use AppModelsArticle;
$from = '2024-01-01';
$to = '2024-12-31';
$articles = Article::whereDate('created_at', '>=', $from)
->whereDate('created_at', '<=', $to)
->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 4", "article 5", "article 6", "article 7"]
Пример
Давайте отфильтруем статьи, у которых поле 'updated_at'
не равно указанной дате:
<?php
use AppModelsArticle;
$date = '2024-01-15';
$articles = Article::whereDate('updated_at', '!=', $date)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3", "article 4"]
Смотрите также
-
метод
whereYear,
который фильтрует по году -
метод
whereMonth,
который фильтрует по месяцу -
метод
whereDay,
который фильтрует по дню месяца -
метод
whereTime,
который фильтрует по времени