2014-07-11 2 views
-1

계약 번호가 7 미만인 계약을 표시 할 수 없으며 계약 번호 DESC로 주문할 수 없습니다.페이지 번호 지정 DESC를 정렬하지 않음

Pagination CakePHP Cook Book을 읽고 내 코드가 어디에서 잘못 되었습니까? 그것은 7보다 적지 만 항상 ASC를 표시합니다. 나는 비슷한 질문을 여기에서 발견했다. [그 작품], (CakePHP paginate and order by) 왜 그런지 모르겠다. Agreement.agreement_number는 int (4)입니다.

 $this->Agreement->recursive = 0; 
     $agreements = $this->Paginator->paginate('Agreement', array(
      'Agreement.agreement_number <' => '7' 
       ), array(
       'Agreement.agreement_number' => 'desc' 
      ) 
     ); 
     $this->set('agreements', $agreements); 
    } 

정확한 케이크 버전은 2.5.2입니다.

답변

0

... 올바른 구문은 어디서 읽었습니까?

paginate 함수의 세 번째 매개 변수는 정렬을위한 것입니다 (테이블 내에서 위 아래 화살표로 정렬 함).

주문할 수있는 필드 목록. 이렇게하면 인덱싱되지 않거나 바람직하지 않은 열에 대한 의 정렬을 방지 할 수 있습니다.

당신은 API의 문서에 사용되는 정확한 링크가 있지만

$this->Paginator->settings = array(
    'Agreement' => array(
     'order' => array('Agreement.agreement_number' => 'desc') 
    ) 
); 

$agreements = $this->Paginator->paginate('Agreement', array(
     'Agreement.agreement_number <' => '7')); 
+0

날 도와 그 @Nunser 주셔서 감사합니다 그것을 (같은 from herehere를) 다음과 같은 것 같지 않습니다! – tomas3man

관련 문제