Skip to main content

PHP enums un gran aliado.

Ejemplo con fechas

Una enumeracion PHP con el método ->dates()

enum Range: string
{
  case Year = 'year';
  case Last_30 = 'last30';
  case Last_7 = 'last7';
  case Today = 'today';
  
  
  // esto hace super sencillo al como esto:
  // $query->whereBetween(Range::Last_30->date())
  
  return match ($this) {
  	static::Year => [Carbon::now()->startOfYear(), now()],
    static::Last_30 => [Carbon::today()->subDays(29), now()],
    static::Last_7 => [Carbon::today()->subDays(6), now()],
    static::Today => [Carbon::today(), now()],
  };
}

Enum Tip

> App\Enums\RangeDates::Last_30->dates()
= [
    Illuminate\Support\Carbon @1700352000 {#9470
      date: 2023-11-19 00:00:00.0 UTC (+00:00),
    },
    Illuminate\Support\Carbon @1702920948 {#9471
      date: 2023-12-18 17:35:48.748993 UTC (+00:00),
    },
  ]
Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.