Как сравнить даты из базы данных в Yii2

$time = new DateTime('now');
$today = $time->format('Y-m-d');
$programs=Programs::find()->where(['close_date' >= $today])->all();

Это код для сегодняшней программы close_date больше today's date. Я получаю ошибку:

"недопустимый параметр-yiibaseInvalidParamException оператор '1' требуется два операнда".

2 ответов


если вы хотите написать where условие как массив код должен быть таким:

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

Регистрация официальная документация для получения более подробной информации:

кроме того, вы можете указать произвольные операторы следующим образом: A состояние ['>=', 'id', 10] приведет к следующему SQL выражение: id >= 10.


или такой код:

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