CakePHP:跨多个模型查找

时间:2012-03-25 08:15:38

标签: cakephp

我有几个模型,它们共享一个字段(比如名称)但在其他字段中有所不同。有没有找到名为'foo'的所有ModelX ModelY和ModelZ。感谢您的任何建议。

2 个答案:

答案 0 :(得分:3)

这样的东西?

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

答案 1 :(得分:2)

如果它们相关,您应该能够指定模型后跟'。'在发现中。

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