Simplifique las consultas de fechas con los nuevos métodos abreviados de Laravel

  • Publicado el 26 febrero, 2025
  • Palabras: 127

¿Necesita simplificar las consultas basadas en fechas en Laravel? Los nuevos métodos abreviados de fechas brindan formas intuitivas de trabajar con restricciones temporales en sus consultas de bases de datos.

Simplifique las consultas de fechas con los nuevos métodos abreviados de Laravel

Trabajar con fechas en consultas de bases de datos a menudo requiere comparaciones detalladas con la hora actual. Los nuevos métodos de abreviaturas de fechas de Laravel hacen que estos patrones comunes sean más expresivos y legibles, lo que reduce el código repetitivo y mejora la claridad del código. Veamos como funciona:

 

// 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();

 

#Ejemplo práctico

A continuación se muestra cómo puede utilizar estos métodos en un sistema de gestión de contenido:

 

class ContentManager
{
    public function getPublishedPosts(bool $includeFuture = false)
    {
        $query = Post::query()
            ->whereNotNull('published_at');
            
        if (!$includeFuture) {
            $query->whereNowOrPast('published_at');
        }
        
        return $query->get();
    }

    public function getScheduledContent()
    {
        return collect([
            'posts' => Post::whereFuture('published_at')->get(),
            'events' => Event::whereFuture('starts_at')->get(),
            'webinars' => Webinar::whereAfterToday('scheduled_for')->get()
        ]);
    }

    public function getArchivedContent()
    {
        return [
            'expired_posts' => Post::wherePast('archived_at')->get(),
            'past_events' => Event::whereBeforeToday('ends_at')->get(),
            'old_promotions' => Promotion::whereNowOrPast('valid_until')->get()
        ];
    }
}

 

Estos métodos abreviados de fechas proporcionan una forma más expresiva de trabajar con consultas basadas en tiempo. Piense en ellos como filtros especializados que manejan toda la lógica de comparación de fechas por usted, lo que hace que su código sea más legible y mantiene el foco en la lógica empresarial en lugar de la manipulación de fechas.

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Fuente: Harris Raftopoulos

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión