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