Yii2 andFilterWhere()条件操作数的用途是什么?

Yii2 andFilterWhere()条件操作数的用途是什么?,yii2,Yii2,我对Yii2框架绝对是新手。我试图学习过滤,但不知怎么的我不明白。我看了文档,但也没用。有人能一步一步地给我解释一下这个函数的作用吗 public function filteringValues($query) { $query->andFilterWhere([ '>', 'table1.column1', date('Y-m-d H:i:s'), ]); } }

我对
Yii2框架绝对是新手。我试图学习过滤,但不知怎么的我不明白。我看了文档,但也没用。有人能一步一步地给我解释一下这个函数的作用吗

public function filteringValues($query)
{   
        $query->andFilterWhere([
            '>',
            'table1.column1',
            date('Y-m-d H:i:s'),
        ]);
    }
}
正如前面指出的,
和filterwhere
如果操作数不是空的,则应用一个条件

在您的特定情况下(自
date('Y-m-dh:i:s')
始终返回一个值)

相当于

$query->andWhere(['>', 'table1.column1', date('Y-m-d H:i:s')]);
将转换为sql的条件如下

AND (`table1`.`column1`) > '2017-08-12 06:10:32'

当与可选值(作为过滤器参数接收)进行比较时,
和过滤器的一个适当用例

它的目的是不检查天气是否
$date
是否为空

$query->andFilterWhere([
    'table1.column1' => $param1,
    'table1.column2' => $param2,
    'table1.column3' => $param3,
]);
在本例中,查询仅对非参数应用条件,忽略额外的参数

$query->andFilterWhere(['>', 'table1.column1', $date]);
$query->andFilterWhere([
    'table1.column1' => $param1,
    'table1.column2' => $param2,
    'table1.column3' => $param3,
]);