cakephp - найти условия для нескольких моделей - PullRequest
0 голосов
/ 04 октября 2010

Я пытаюсь найти условия в двух моделях.Возможно ли это?

$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

1 Ответ

3 голосов
/ 04 октября 2010

Это возможно, если ваш уровень рекурсии установлен надлежащим образом, но я настоятельно рекомендую использовать Containable Behavior для чего-то подобного. Это делает эти вещи тривиальными, удобочитаемыми и хирургическими (вы получаете то, что вам нужно, и только то, что вам нужно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...