sql >> Base de Datos >  >> RDS >> Mysql

Laravel $q->where() entre fechas

Puedes encadenar tu where s directamente, sin function(q) . También hay un buen paquete de manejo de fechas en laravel, llamado Carbon . Así que podrías hacer algo como:

$projects = Project::where('recur_at', '>', Carbon::now())
    ->where('recur_at', '<', Carbon::now()->addWeek())
    ->where('status', '<', 5)
    ->where('recur_cancelled', '=', 0)
    ->get();

Solo asegúrese de que necesita Carbon en el compositor y que está usando el espacio de nombres Carbon (use Carbon\Carbon;) y debería funcionar.

EDITAR:Como Joel dijo , podrías hacer:

$projects = Project::whereBetween('recur_at', array(Carbon::now(), Carbon::now()->addWeek()))
    ->where('status', '<', 5)
    ->where('recur_cancelled', '=', 0)
    ->get();