cakephp - 查找多个模型的条件

时间:2010-10-04 10:46:27

标签: cakephp find

我正在尝试使用两个模型中的条件进行查找。这可能吗?

$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
            )
            )
        ));

由于

亚历

1 个答案:

答案 0 :(得分:3)

只要您的递归级别设置得恰当,就可以了,但我强烈建议您使用Containable Behavior这样的东西。它使这些事情变得微不足道,可读和外科(你得到你需要的东西,只有你需要的东西)。