Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel $q->where() entre les dates

Vous pouvez chaîner votre where s directement, sans function(q) . Il y a aussi un bon package de gestion des dates dans laravel, appelé Carbon . Vous pourriez donc faire quelque chose comme :

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

Assurez-vous simplement que vous avez besoin de Carbon dans composer et que vous utilisez l'espace de noms Carbon (utilisez Carbon\Carbon;) et cela devrait fonctionner.

EDIT :Comme Joel a dit , vous pourriez faire :

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