2013-04-25 4 views
0

I가 다음과 같은 모델을 가진 포함 찾을CakePHP의 깊은 주문을

clients { id, name, ... } 
loans { id, client_id, book_id } 
books { id, book_type_id } 
book_types { id, title } 

나는 클라이언트의 ID로 모든 대출을 찾을 싶습니다. 이것은 내가 시도한 것입니다 :

$client = $this->Client->find('first', array(
    'conditions' => array(
     'Client.id' => $id 
    ), 
    'contain' => array(
     'Loan' => array(
      'Book' => array(
       'BookType' => array(
        'order' => 'sachtitel DESC' 
       ) 
      ) 
     ) 
    ) 
)); 

이것은 예상대로 작동하지 않습니다. 내 데이터는 원하는대로 정렬되지 않습니다.

내가 뭘 잘못하고 있니?

편집 : CakePHP의 데이터를 얻기 위해 여러 쿼리를 생성하기 때문에 내가 이 포함되어 사용하고 같이 좋아, 그것만큼 보인다, 내가 순서를 사용할 수 없습니다. 따라서 CakePHP에 의해 생성 된 질의가 오직 하나의 행을 가져 오기 때문에 내 명령은 쓸모가 없습니다. 조인을 사용하여 테이블에서 데이터를 가져 오는 방법은 무엇입니까?

+1

"내 데이터가 원하는대로 정렬되지 않았습니다." - 명확히하십시오 - 당신이 원하는 것은 무엇이며, 당신이 얻는 것과는 어떻게 다른가? – Dave

답변

0

관계를 생성하는 동안 순서를 정의하십시오. 다음과 같이 시도하십시오.

$this->Book->bindModel(array(
    'belongsTo' => array(
     'BookType' => array('order' => 'sachtitel DESC') 
));