Можете да веригата where
s директно, без function(q)
. Има и приятен пакет за обработка на дати в laravel, наречен Carbon
. Така че можете да направите нещо като:
$projects = Project::where('recur_at', '>', Carbon::now())
->where('recur_at', '<', Carbon::now()->addWeek())
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();
Просто се уверете, че имате нужда от Carbon в composer и използвате пространство от имена Carbon (използвайте Carbon\Carbon;) и трябва да работи.
РЕДАКТИРАНЕ:Както каза Joel , можете да направите:
$projects = Project::whereBetween('recur_at', array(Carbon::now(), Carbon::now()->addWeek()))
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();