Изучение различных методов получения записей за последний месяц в Laravel

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