CakePHP使用多个“ OR”查找条件 [英] CakePHP find conditions with multiple 'OR'

查看:71
本文介绍了CakePHP使用多个“ OR”查找条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的很头疼,无法正常工作。这是我在原始MySQL中期望得到的结果:

I'm having a real headache getting this to work correctly. This is my desired outcome in raw MySQL:

WHERE `EmailTemplate`.`is_archived` = '0' 
AND
((`EmailTemplate`.`project_id` IS NULL) OR (`EmailTemplate`.`project_id` = 101))
AND
((`EmailTemplate`.`user_id` IS NULL) OR (`EmailTemplate`.`user_id` = 44))

这如何转换为CakePHP条件

How does this translate into a CakePHP conditions array?

推荐答案

最终解决了这个问题。

    $templateConditions = array(
            'EmailTemplate.is_archived' => 0,
            'AND' => array(
                       'OR' => array(
                                array('EmailTemplate.project_id IS NULL'),
                                array('EmailTemplate.project_id' => $this->request->data['Project']['project_id'])
                               )    
                     ),
                     array(
                       'OR' => array(
                                array('EmailTemplate.user_id IS NULL'),
                                array('EmailTemplate.user_id' => $this->Auth->user('id'))
                               )
                     )
            );

这篇关于CakePHP使用多个“ OR”查找条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆