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

13
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 березня, 2026
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

Intervention Image: потужний інструмент для роботи з зображеннями у Laravel

Досліджуйте потужний пакет Intervention Image для PHP, який виводить редагування зображень на новий рівень з оновленою версією 3. Чи готові ви дізнатися, які нові можливості та функції чекають на вас у цьому інструменті

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!