CakePHP: поиск по нескольким моделям - PullRequest
2 голосов
/ 25 марта 2012

У меня есть несколько моделей, которые все имеют одно поле (скажем, имя), но отличаются в других полях. Есть ли желание найти все ModelX ModelY и ModelZ с именем 'foo'. Спасибо за любые предложения.

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Как то так?

$models = array('Post', 'Comment', 'Article');
$results = array();

foreach($models as $model) {
    $this->loadModel($model);
    $results[$model] = $this->{$model}->find('all', array(
        'conditions' => array(
            $model'.name' => $name
        )
    ));
}
2 голосов
/ 27 марта 2012

Если они связаны, вы можете указать модель, а затем «.» внутри находки.

    $this->find('all', array(
        'conditions' => array(
             'OR' => array(
                  'Article.field' => 'foo',
                  'Comment.field' => 'foo',
                  'Post.field' => 'foo',
              )
         ),
        'fields' => array('Article.field', 'Comment.field', 'Post.field')
    ));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...