2015-02-12 9 views
5
$time = new \DateTime('now'); 
$today = $time->format('Y-m-d'); 
$programs=Programs::find()->where(['close_date' >= $today])->all(); 

Questo è il codice per i programmi di oggi il cui close_date è maggiore di today's date.Come confrontare le date dal database in Yii2

"Invalid Parameter -yii\base\InvalidParamException Operator '1' requires two operands".

+1

Non c'è bisogno di costruire la data in questo modo, potresti usare 'new \ yii \ db \ Expression ('NOW()')' – soju

risposta

7

Se si vuole scrivere where condizione di allineamento il codice dovrebbe essere simile a questo:: sto errore ottenendo

$programs = Programs::find()->where(['>=', 'close_date', $today])->all(); 

Controllare official documentation per maggiori dettagli:

Additionally you can specify arbitrary operators as follows: A condition of ['>=', 'id', 10] will result in the following SQL expression: id >= 10 .

2

O come questo codice:

$programs = Programs::find()->where('close_date >= :close_date', [':close_date' => $today])->all(); 
Problemi correlati