Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

11
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Laravel спрощує запити з використанням дат завдяки виразним скороченим методам, які полегшують пошук за часовими критеріями у ваших запитах до бази даних. Ці інтуїтивні методи зменшують обсяг коду, роблячи умови з датами зрозумілішими.

Основна реалізація демонструє чіткий, семантичний синтаксис:

// Знайти записи з датами в минулому
$expiredSubscriptions = Subscription::wherePast('expires_at')->get();
 
// Знайти записи з датами в майбутньому
$upcomingEvents = Event::whereFuture('starts_at')->get();
 
// Знайти записи з датою сьогодні
$todaysAppointments = Appointment::whereToday('scheduled_for')->get();

Ось як ці методи оптимізують запити в системі управління бронюваннями:

class ReservationController extends Controller
{
    public function dashboard()
    {
        return view('reservations.dashboard', [
            'upcoming' => Reservation::whereFuture('check_in')
                ->where('status', 'confirmed')
                ->orderBy('check_in')
                ->get(),
 
            'active' => Reservation::whereToday('check_in')
                ->orWhere(function($query) {
                    $query->whereToday('check_out')
                        ->whereNotNull('checked_in_at');
                })
                ->get(),
 
            'past' => Reservation::wherePast('check_out')
                ->latest('check_out')
                ->limit(10)
                ->get(),
 
            'pending_reviews' => Reservation::wherePast('check_out')
                ->whereNull('reviewed_at')
                ->where('status', 'completed')
                ->get()
        ]);
    }
}

Ці скорочені методи роботи з датами створюють документовані запити, які чітко відображають ваші часові обмеження без складності ручних порівнянь дат

Популярні

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту