sql >> Databasteknik >  >> RDS >> Mysql

Laravel $q->where() mellan datum

Du kan koppla din where s direkt, utan function(q) . Det finns också ett trevligt datumhanteringspaket i laravel, kallat Carbon . Så du kan göra något som:

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

Se bara till att du behöver Carbon i kompositören och att du använder Carbon-namnrymden (använd Carbon\Carbon;) och det borde fungera.

EDIT:Som Joel sa , kan du göra:

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


  1. Google BigQuery ODBC-drivrutin

  2. SQLite Node.js

  3. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Kommunikationslänkfel till fjärrdatabas

  4. Få värde baserat på max för en annan kolumn grupperad efter en annan kolumn