Получение записей за определенный период времени — обычное требование в веб-разработке. В этой статье блога мы рассмотрим несколько методов получения записей прошлого месяца в Laravel. Мы обсудим различные подходы и предоставим примеры кода, которые помогут вам понять и эффективно их реализовать.
Метод 1: использование необработанного SQL-запроса
$lastMonthRecords = DB::select("SELECT * FROM your_table WHERE DATE_FORMAT(created_at, '%Y-%m') = DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y-%m')");
Объяснение: этот метод использует необработанный SQL-запрос для сравнения месяца и года в столбце created_atс предыдущим месяцем.
Метод 2: использование Eloquent Query Builder
use Carbon\Carbon;
$lastMonthRecords = YourModel::whereYear('created_at', Carbon::now()->subMonth()->year)
->whereMonth('created_at', Carbon::now()->subMonth()->month)
->get();
Объяснение. Этот метод использует построитель запросов Eloquent и библиотеку Carbon для создания запроса, который извлекает записи на основе года и месяца столбца created_at.
Метод 3: использование метода whereBetweenLaravel
use Carbon\Carbon;
$startDate = Carbon::now()->subMonth()->startOfMonth();
$endDate = Carbon::now()->subMonth()->endOfMonth();
$lastMonthRecords = YourModel::whereBetween('created_at', [$startDate, $endDate])
->get();
Объяснение: Этот метод использует метод whereBetweenпостроителя запросов для получения записей, попадающих в диапазон предыдущего месяца.
Метод 4: использование метода whereDateLaravel
use Carbon\Carbon;
$startDate = Carbon::now()->subMonth()->startOfMonth();
$endDate = Carbon::now()->subMonth()->endOfMonth();
$lastMonthRecords = YourModel::whereDate('created_at', '>=', $startDate)
->whereDate('created_at', '<=', $endDate)
->get();
Объяснение: Этот метод использует метод whereDateпостроителя запросов для получения записей со значениями created_atмежду датами начала и окончания предыдущего месяца.
В этой статье мы рассмотрели четыре различных метода получения записей за прошлый месяц в Laravel. Вы можете выбрать метод, который соответствует вашим требованиям и стилю кодирования. Не забудьте импортировать необходимые библиотеки и настроить имена таблиц и столбцов в соответствии со схемой вашего приложения. Используя эти методы, вы можете эффективно извлекать нужные записи и манипулировать ими по мере необходимости.