cakephp-查找多个模型上的条件

cakephp-查找多个模型上的条件,cakephp,find,Cakephp,Find,我试图在两个模型中找到条件。这可能吗 $offices = $this->User->Org->find('first', array( 'conditions' => array( "or" => array( 'Org.website LIKE' => $match, 'Domain.domain' => $matc

我试图在两个模型中找到条件。这可能吗

$offices = $this->User->Org->find('first', array(
            'conditions' => array(
                "or" => array(
                    'Org.website LIKE' => $match,
                    'Domain.domain' => $match
                )
            )
        ));
这种关系看起来是这样的

'Domain' => array(
        'className' => 'Domain',
        'foreignKey' => 'org_id',
    ),
作为可控制的搜索

$this->User->Org->Behaviors->attach('Containable');
        $offices = $this->User->Org->find('first', array(
            'contain' => array(
                'Domain' => array(
                    'conditions' => array(
                        'Or' => array(
                        'Domain.domain' => $match
                    )
                        )
                    ),
                    'Office' => array(
                        'fields' => array('Office.id', 'Office.city')
                        )
            ),
            'conditions' => array(
                "or" => array(
                'Org.website' => $match
            )
            )
        ));
谢谢


Alex

只要您的递归级别设置适当,这是可能的,但我强烈建议您使用。它使这些事情变得琐碎、易读、易懂(你得到了你需要的东西,也只得到了你需要的东西)。

只要你的递归级别设置得当,这是可能的,但我强烈建议使用。它使这些内容变得琐碎、易读、易懂(你得到了你需要的东西,也只得到了你需要的东西)。

谢谢你的回复,我本来就试过了,但没能让它们或部分发挥作用。我已在问题中添加了我所做的。我做错了什么?在复杂查询中使用cake find可能会令人失望。我通常自己编写查询并使用$this->Model->query()函数。这为我节省了很多时间,谢谢你的回复,我本来试过了,但没能让它或部分工作。我已在问题中添加了我所做的。我做错了什么?在复杂查询中使用cake find可能会令人失望。我通常自己编写查询并使用$this->Model->query()函数。使用
单个元素数组可能会有问题,这会节省我很多时间。还要注意,在第一个示例中,您使用的是
Org.website LIKE
,但在第二个示例中没有
LIKE
。我应该将条件放在哪里,以便可以比较域和网站?谢谢,使用
单个元素数组可能会有问题。还要注意,在第一个示例中,您使用的是
Org.website LIKE
,但在第二个示例中没有
LIKE
。我应该将条件放在哪里,以便可以比较域和网站?谢谢,亚历克斯