> Faqs > Cómo seleccionar registros que tengan un created_at que no sea superior a un año en Laravel Eloquent

Cómo seleccionar registros que tengan un created_at que no sea superior a un año en Laravel Eloquent

Quiero hacer una consulta de los productos que tengan la fecha de creación menor de 1 año. (Usando Laravel Eloquent)

Products::where('created_at', '>=', $fecha)

Mi duda es ¿cómo expresar esa fecha y cómo hacer el cálculo para que sea siempre un año menos de la fecha actual.

Respuestas

La respuesta de David funciona muy bien, pero también lo he sacado usando la librería Carbon.

Esta librería nos permite gestión de fechas y ya está integrada dentro de Laravel. Realmente Carbon funciona como la gestión de fechas nativa en PHP, agregando nuevas posibilidades con un API muy completa.

Products::where('created_at', '>=', Carbon::now()->subYears(1))
Julian
1100 46 84 45
Sin duda mejor gestionarlo con Carbon como has puesto, gracias por la info :)

Buenas Has probado esto?

$fecha = date('Y-m-d', strtotime("now - 1 years"));

Suerte

David
95 4 11
Funciona correctamente! muchas gracias. No había visto cómo hacer este cálculo de fechas con PHP puro.