2012-03-25 98 views
2

我有幾個模型都共享一個字段(稱爲名稱),但在其他領域不同。有沒有人可以找到所有名稱爲'foo'的ModelX ModelY和ModelZ。感謝您的任何建議。CakePHP:查找多個模型

+2

如果您有一個字段是來自另一個不是簡單ID的表的數據複製,那麼您可能會做錯了。 – 2012-03-26 01:27:26

回答

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