2011-05-04 6 views
0

에 관련된 모델의 스레드 결과를 얻을 수 있습니다 :나는 다음과 같이 연결이 데이터베이스 테이블이 CakePHP의

ProjectProduct hasMany Bde 
Bde belongsTo ParentBde/Bde hasMany ChildBde 

첫 번째 관계는 새로운 현재 응용 프로그램에 추가해야한다. 그 이후로 나는 $this->Bde->find('threaded')을 사용하여 이러한 레코드의 스레드 된 배열을 가져 왔습니다.

이제 ProjectProduct-table을 쿼리해야하고 관련 Bdes를 모두 가져올 수 있도록 containable-behavior를 사용하려고했습니다.

이제 궁금합니다. ProjectProduct에서 호출을 호출하여 스레드 된 결과를 얻을 수 있습니까? $this->ProjectProduct->find('threaded', array('contain' => 'Bde'))을 시도했지만 ProjectProduct에 스레드 된 결과를 얻으려고합니다.

이 같은 배열 기대하고 있습니다 :이 하나의 호출 또는 "Cakish"방법으로 수행 할 수있는 방법 정보를 찾을 수 없습니다 때문에, 나는이 같은 그것을 한 적이

Array (
    [ProjectProduct] => Array (
     [id] => 17, 
     [Bde] => Array (
      [0] => Array (
       [id] => 1, 
       [project_product_id] => 17, 
       [children] => Array() 
      ) 
     ) 
    ) 
) 

답변

0

을 :

$project_products = $this->Project->ProjectProduct->find('all'); 
    foreach ($project_products as $key => $project_product) { 
     $project_products[$key]['Bde'] = $this->Project->Bde->find('threaded', array('conditions' => array('Bde.project_product_id' => $project_product['ProjectProduct']['id']))); 
    } 

누군가가이 작업을 수행하는 데 더 좋은 방법이 있다면 정말 다른 아이디어에 감사드립니다!

관련 문제