我是新手Yii2 framework.我正在尝试学习过滤,但不知怎的,我不理解它.我查看了文档,但它也没有帮助.有人可以向我解释一下这个功能是一步一步的吗?
public function filteringValues($query)
{
$query->andFilterWhere([
'>',
'table1.column1',
date('Y-m-d H:i:s'),
]);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
就像doc指出的那样,如果操作数不为空,则andFilterWhere应用条件
在你的特定情况下(因为date('Y-m-d H:i:s')总是返回一个值),
$query->andFilterWhere(['>', 'table1.column1', date('Y-m-d H:i:s')]);
Run Code Online (Sandbox Code Playgroud)
将等同于
$query->andWhere(['>', 'table1.column1', date('Y-m-d H:i:s')]);
Run Code Online (Sandbox Code Playgroud)
这被翻译成sql到像condtion
AND (`table1`.`column1`) > '2017-08-12 06:10:32'
Run Code Online (Sandbox Code Playgroud)
andFilterWhere当与可选值(作为过滤器参数接收)进行比较时,是一个用例用例.
$query->andFilterWhere(['>', 'table1.column1', $date]);
Run Code Online (Sandbox Code Playgroud)
它的目的是不检查天气$date是否是空的
$query->andFilterWhere([
'table1.column1' => $param1,
'table1.column2' => $param2,
'table1.column3' => $param3,
]);
Run Code Online (Sandbox Code Playgroud)
在此示例中,查询仅对非空的参数应用条件,忽略额外的参数
| 归档时间: |
|
| 查看次数: |
5927 次 |
| 最近记录: |