Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel $q->dove() tra le date

Puoi concatenare il tuo where s direttamente, senza function(q) . C'è anche un bel pacchetto di gestione delle date in laravel, chiamato Carbon . Quindi potresti fare qualcosa come:

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

Assicurati solo di richiedere Carbon nel compositore e di utilizzare lo spazio dei nomi Carbon (usa Carbon\Carbon;) e dovrebbe funzionare.

EDIT:Come Ha detto Joel , potresti fare:

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