如何在Yii2中比较数据库中的日期

如何在Yii2中比较数据库中的日期,yii2,Yii2,这是用于close\u date大于今天日期的程序的代码。我得到一个错误: “无效参数-yii\base\InvalidParamException运算符“1” 需要两个操作数” 如果要将where条件写入数组,则代码应如下所示: $time = new \DateTime('now'); $today = $time->format('Y-m-d'); $programs=Programs::find()->where(['close_date' >= $today])-&g

这是用于
close\u date
大于
今天日期的程序的代码。我得到一个错误:

“无效参数-yii\base\InvalidParamException运算符“1” 需要两个操作数”


如果要将
where
条件写入数组,则代码应如下所示:

$time = new \DateTime('now');
$today = $time->format('Y-m-d');
$programs=Programs::find()->where(['close_date' >= $today])->all();
查看更多详细信息:

此外,还可以按如下方式指定任意运算符:A
['>=',id',10]
的条件将导致以下SQL 表达式:
id>=10

或者像这样的代码:

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

不需要像这样构建日期,您可以使用
new\yii\db\Expression('NOW()')
$programs = Programs::find()->where('close_date >= :close_date', [':close_date' => $today])->all();