> Faqs > Consulta en Laravel Eloquent para saber si un campo date está entre dos fechas

Consulta en Laravel Eloquent para saber si un campo date está entre dos fechas

Quisiera hacer una consulta con Laravel Eloquent para que: teniendo dos fechas de entrada, saber los registros que tienen un campo date que se encuentra entre esas dos fechas.

Tengo dos fechas en formato MySQL:

  • fecha1: 12-01-2023
  • fecha2: 01-03-2023

Quiero saber qué registros tienen el campo "day" comprendido entre esas dos fechas.

Respuestas

Puedes usar el método whereBetween de Laravel Query Builder, indicando el nombre del campo "date" y luego un array que contiene los dos valores entre los que buscar las fechas.

Puedes ver un ejemplo de consulta entre dos fechas en el siguiente código:

$startDate = '12-01-2023';
$finishDate = '01-03-2023';
$modelsFound = Task::whereBetween('target_day', [$startDate, $finishDate])->get();

El método whereBetween lo puedes usar con cualquier tipo de datos. Por ejemplo así calculas comentarios que tienen entre 5 y 10 votos.

$comments = Comment::whereBetween('votes', [5, 10])->get();
Julian
1100 46 84 45