Yii2模型搜索中如何设置条件为空?
How to set the condition is null in Yii2 model search?
我想设置显示 title_recieved
为 null
的所有车辆的条件。
->andFilterWhere(['=', 'tr.title_recieved', null])
->andFilterWhere(['is', 'tr.title_recieved', null])
->andFilterWhere(['is', [ 'tr.title_recieved', null]])
我已经尝试了所有可用的选项,null
条件在 andWhere
中有效,但在 andFilterWhere
中无效。
像这样在查询中使用 andWhere。
->andWhere(['tr.title_recieved' => null]);
试试这个:
->andFilterWhere('tr.title_recieved is NULL');
**根据 yii2 文档
andFilterWhere() 向现有条件添加一个额外的 WHERE 条件,但忽略空操作数。
新条件和现有条件将使用 'AND' 运算符连接。
这个方法类似于andWhere()。主要区别在于此方法将删除空查询操作数。因此,这种方法最适合基于用户输入的过滤值构建查询条件。
来自文档 http://www.yiiframework.com/doc-2.0/yii-db-querytrait.html#andFilterWhere()-detail **
可以这样做
$query->andFilterWhere(['IS', 'tr.title_recieved', new \yii\db\Expression('NULL')]);
我想设置显示 title_recieved
为 null
的所有车辆的条件。
->andFilterWhere(['=', 'tr.title_recieved', null])
->andFilterWhere(['is', 'tr.title_recieved', null])
->andFilterWhere(['is', [ 'tr.title_recieved', null]])
我已经尝试了所有可用的选项,null
条件在 andWhere
中有效,但在 andFilterWhere
中无效。
像这样在查询中使用 andWhere。
->andWhere(['tr.title_recieved' => null]);
试试这个:
->andFilterWhere('tr.title_recieved is NULL');
**根据 yii2 文档 andFilterWhere() 向现有条件添加一个额外的 WHERE 条件,但忽略空操作数。
新条件和现有条件将使用 'AND' 运算符连接。
这个方法类似于andWhere()。主要区别在于此方法将删除空查询操作数。因此,这种方法最适合基于用户输入的过滤值构建查询条件。 来自文档 http://www.yiiframework.com/doc-2.0/yii-db-querytrait.html#andFilterWhere()-detail **
可以这样做
$query->andFilterWhere(['IS', 'tr.title_recieved', new \yii\db\Expression('NULL')]);