手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

yii2 orwhere andwhere的复杂写法

首页 > PHP >

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

queue_name != '' and ( queue_status = '' or (queue_status ='error' and retry = 0))这样的要求,用Yii AR 就比较难写了。
demo如下:
 
PHP代码
  1. $files = XXXX::find()  
  2.                ->andWhere(['<>''queue_name'''])  
  3.                ->andWhere(['or',  
  4.                    ['queue_status' => ''],  
  5.                    [  
  6.                        'and',  
  7.                        ['queue_status' =>'error'],  
  8.                        ['retry' => 0]  
  9.                    ]  
  10.                ])  
  11.                ->all();  
其实也就这样了。。
重点:
1、不等于的写法
2、或条件其实不是用orWhere,而是用andWhere
3、如果orWhere条件中有双重条件,得使用数组,并使用and进行连接
 
BTW:今天是PHPcon的第一天,然而我却没空去。我是陪读的书童~~~
 



本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):