Для работы с записями в базе данных в 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 которые были созданы в указанное время.
Подобным образом используя упомянутые выше методы, можно с легкостью комбинировать с другими условиями и выбирать нужные вам данные из таблиц.
Добавить комментарий