О web-разработке
и даже немного больше...

Как выбрать записи за определённый период (День, Месяц, Год) в Laravel?

Для работы с записями в базе данных в Laravel предусмотрено множество полезных методов. В данном примере мы рассмотрим методы позволяющие задавать критерий выборки в виде определённых периодов.

Например, если у нас есть некий список записей, и нам потребуется выбрать из этого списка записи только за определённый период, мы можем сделать это используя следующие методы:

  • whereDate
  • whereMonth
  • whereDay
  • whereYear
  • whereTime

Каждый из этих методов работает с определённым форматом значений, и выполняет выборку согласно условию. Для наглядности давайте рассмотрим примеры использования этих методов.

Метод whereDate – Задаёт условие выборки записей за определённую дату

Предположим, у нас есть задача выбрать записи, созданные за определённую дату. Из исходных данных у нас будет таблица users, в которой есть целевая колонка для хранения даты — created_at.

$users = DB::table('users')
->whereDate('created_at', '2024-10-05')
->get();

В результате из таблицы users будут выбраны записи, которые были созданы за эту дату.

Метод whereMonth – Задаёт условие выборки записей за определённый месяц

В этом примере из таблицы аналогично как предыдущему примеру мы сделаем выборку записей из таблицы users, за определённый месяц.

$users = DB::table('users')
->whereMonth('created_at', '10')
->get();

В качестве значения месяца методу передаётся цифра, в нашем примере 10 – будут выбраны записи за октябрь.

Метод whereDay() – Задаёт условие выборки записей за определённое число месяца

Этот пример так же интересен возможностью выборки всех записей за определённое число месяца. Например, нам требуется выбрать все записи, которые были созданы в 20-х числах каждого месяца.

$users = DB::table('users')
->whereDay('created_at', '20')
->get();

Таким образом, опираясь на ту же колонку created_at в таблице users выбрали все записи за определённое число месяца.

Метод whereYear() – Задаёт условие выборки записей за определённый год

Не редкий случай, когда требуется сделать выборку записей за определённый год. Для этих целей есть аналогичный метод, которым мы можем так же воспользоваться в случае необходимости.

$users = DB::table('users')
->whereYear('created_at', '2024')
->get();

В результате в этом примере мы получаем записи, созданные в таблице users за 2024 год.

Метод whereTime() – Задаёт условие выборки записей за определённое время

Бывают случаи, когда необходимо сделать выборку записей из таблицы за определённое время. Для этих целей мы можем воспользоваться следующим методом, передавая ему в качестве параметра время, по которому следует сделать выборку.

$users = DB::table('users')
->whereTime('created_at', '=', '13:25:14')
->get();

В результате получаем записи из таблицы users которые были созданы в указанное время.
Подобным образом используя упомянутые выше методы, можно с легкостью комбинировать с другими условиями и выбирать нужные вам данные из таблиц.

Опубликован: 07.10.2024 г.

См. также:

Ограничение параметров в маршрутах Laravel
Необязательные параметры маршрутов в Laravel
Использование метода leftJoin() для выборки из нескольких таблиц в Laravel
Как просмотреть SQL запрос в Eloquent Laravel?
Как объявить переменную в шаблоне Laravel Blade?
Проверка на пустоту коллекций Eloquent в Laravel
Как получить URL текущей страницы в Laravel?
Как вывести роуты Laravel в отдельный файл?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта