use*_*416 4 php sql activerecord yii2
我基本上有一个活动查询,我想要过滤该列,如果它匹配ID或为null
MyTable::find()->andFilterWhere(['in', 'org_id', [null, $org_id]])->all();
Run Code Online (Sandbox Code Playgroud)
目前使用这个,工作正常$org_id,但它不会返回null值.我试过这个,看看我是否可以得到任何空结果,但无济于事
MyTable::find()->andFilterWhere(['in', 'org_id', null])->all();
Run Code Online (Sandbox Code Playgroud)
有小费吗?
纠正你这样的查询:
MyTable::find()
->andFilterWhere(['in', 'org_id', $this->org_id])
->orWhere(['org_id' => null])
->all();
Run Code Online (Sandbox Code Playgroud)
您也可以IS NULL使用数组指定条件,orWhere因为这个条件不依赖于属性值就足够了.