在Yii2模型搜索中如何设置条件为空?

时间:2018-03-14 12:56:32

标签: yii2 yii2-advanced-app yii-extensions

  

我想设置显示所有内容的条件   title_recived为null的车辆

 ->andFilterWhere(['=', 'tr.title_recieved', null])
    ->andFilterWhere(['is', 'tr.title_recieved', null])
    ->andFilterWhere(['is', [ 'tr.title_recieved', null]])
  

尝试了所有的avaialble opiton,这是null conditon工作在和哪里   但不是在andfilterwhere?

4 个答案:

答案 0 :(得分:2)

使用andWhere查询谎言。

->andWhere(['tr.title_recieved' => null]);

答案 1 :(得分:1)

可以这样操作

$query->andFilterWhere(['IS', 'tr.title_recieved', new \yii\db\Expression('NULL')]);

答案 2 :(得分:0)

试试这个:

 ->andFilterWhere('tr.title_recieved is NULL');

答案 3 :(得分:0)

**根据yii2 doc andFilterWhere()向现有条件添加一个额外的WHERE条件,但忽略空操作数。

新条件和现有条件将使用“AND”运算符连接。

此方法类似于andWhere()。主要区别在于此方法将删除空查询操作数。因此,此方法最适合根据用户输入的过滤器值构建查询条件。 来自doc http://www.yiiframework.com/doc-2.0/yii-db-querytrait.html#andFilterWhere()-detail **