Laravel Tutorials

Streamlining Date Queries with Laravel's Shorthand Methods

Published
Streamlining Date Queries with Laravel's Shorthand Methods image

Laravel enhances date-based querying with expressive shorthand methods that simplify common temporal filters in your database queries. These intuitive methods reduce boilerplate while making time-based conditions more readable.

The basic implementation demonstrates the clear, semantic syntax:

// Find records with dates in the past
$expiredSubscriptions = Subscription::wherePast('expires_at')->get();
 
// Find records with dates in the future
$upcomingEvents = Event::whereFuture('starts_at')->get();
 
// Find records with today's date
$todaysAppointments = Appointment::whereToday('scheduled_for')->get();

Here's how these methods streamline queries in a booking management system:

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()
]);
}
}

These date shorthand methods create self-documenting queries that clearly express your temporal constraints without the complexity of manual date comparisons.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article