2014-07-07 10 views
0

내가 이런 모델에 대한 검색을 만들 조인 5 번 (가능한 경우). 문제는이 모델 중 하나가 X5로 되풀이되는 것입니다. 다른 사람들은있을 필요가 없습니다.CakePHP의 설정 재귀는

재귀 할 테이블과 재귀 할 수준을 찾기 기능에 알리는 방법이 있습니까? 그래서, 어느 모델이 재발 할 것인가와 각각에 대해 어느 정도의 수준으로 케이크를 말합니까?

답변

0

음이 정확히 재귀가 아니라 깊은 관계를 액세스하고 주요 모델에 재귀 사용하지 않도록하는 유일한 방법은 함유 성 행동을 사용하는 것입니다

$options = array(
    'conditions' => array(
     'CompletedSurvey.' . $this->CompletedSurvey->primaryKey => $id 
    ), 
    'contain' => array(
     'SomeModel.SomeOtherModel.AnotherModel.AnotherModel' 
    ) 
); 

$survey = $this->CompletedSurvey->find('first', $options); 

을 그리고 설정하는 것을 잊지 마세요 CompletedSurvey 모델에 대한 수용 가능한 동작! (http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html#containablebehavior-options)를 함유 성 행동

class CompletedSurvey extends AppModel { 
    public $actsAs = array('Containable'); 
} 
+1

에서 [** 재귀 옵션] 인 부울, 그리고 그것은 기본적으로 활성화되어 있습니다! – ndm

+0

감사합니다. @ndm! 나는 나의 대답을 편집했다. – cleverketchup