yii2 orwhere andwhere的复杂写法

来源:转载

如果仅仅是多个orwhere条件,其实就是默认的andWhere和orWhere的标准写法,但如果条件是:


queue_name != '' and ( queue_status = '' or (queue_status ='error' and retry = 0))这样的要求,用Yii AR 就比较难写了。


demo如下:


PHP代码


$files = XXXX::find()
->andWhere(['<>', 'queue_name', ''])
->andWhere(['or',
['queue_status' => ''],
[
'and',
['queue_status' =>'error'],
['retry' => 0]
]
])
->all();

其实也就这样了。。


重点:


1、不等于的写法


2、或条件其实不是用orWhere,而是用andWhere


3、如果orWhere条件中有双重条件,得使用数组,并使用and进行连接


BTW:今天是PHPcon的第一天,然而我却没空去。我是陪读的书童~~~


本站采用版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"

", 保留原始链接, 此外还必须标注原文标题和链接.


分享给朋友:
您可能感兴趣的文章:
随机阅读: