Метод whereYear
Метод whereYear применяется к запросу Eloquent
или Query Builder и возвращает тот же запрос,
дополненный условием выборки по году. Первым параметром
передаётся имя колонки, вторым - год для фильтрации.
Метод автоматически извлекает год из даты и сравнивает
с указанным значением.
Синтаксис
<?php
Model::whereYear($column, $year);
?>
Пример
Давайте отфильтруем статьи, созданные в 2023 году:
<?php
use AppModelsArticle;
$articles = Article::whereYear('created_at', 2023)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3"]
Пример
Давайте отфильтруем пользователей, зарегистрированных в 2022 году, и выведем их имена:
<?php
use AppModelsUser;
$users = User::whereYear('created_at', 2022)->get();
foreach ($users as $user) {
echo $user->name;
}
?>
Результат выполнения кода:
["John Doe", "Jane Smith", "Bob Johnson"]
Пример
Давайте используем метод whereYear с оператором сравнения
для выборки записей, созданных до 2020 года:
<?php
use AppModelsArticle;
$articles = Article::whereYear('created_at', '<', 2020)->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["old article 1", "old article 2"]
Пример
Давайте отфильтруем заказы, сделанные в 2021 году, и подсчитаем их количество:
<?php
use AppModelsOrder;
$count = Order::whereYear('created_at', 2021)->count();
echo $count;
?>
Результат выполнения кода:
"15"
Смотрите также
-
метод
where,
который добавляет базовое условие в запрос -
метод
whereDate,
который фильтрует записи по дате -
метод
whereMonth,
который фильтрует записи по месяцу -
метод
whereDay,
который фильтрует записи по дню