2015-01-20 4 views
1

AngularJS & CakePHP로 응용 프로그램을 만들고 있습니다.CakePHP 페이지 설정 순서가 작동하지 않습니다.

Cake에서 주문한 데이터를 반환 할 수있는 하나의 웹 서비스가 있지만 그렇게하지 않으면 DB에서 온 데이터를 반환합니다.

이 내 코드의 일부입니다

 $this->Paginator->settings = array('limit' => 20, 'page' => $this->request->data['page']+1, 'recursive' => -1); 
    $data = $this->Paginator->paginate('Country', $conditions, $order); 

누구나 아이디어가?

답변

0

여기 매기기의 PAGINATE 구성 요소의 서명이다 (http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#custom-query-pagination 참조) : 당신이 통과해야

public function paginate(Model $model, $conditions, $fields, $order, $limit, 
    $page = 1, $recursive = null, $extra = array()) 

두 번째 인수는 필드가 아닌 순서입니다.

그러나 찾기 조건과 마찬가지로 설정 배열에서 순서를 정의 할 수도 있습니다.

+0

예, 당신이 내 코드를 잘 해결하고 있지만 작동하지 않습니다 $ this-> Paginator-> 설정 = 배열 ​​('한계'=> 20 ' page '=> $ this-> request-> data ['page '] +1,'recursive '=> -1); $ data = $ this-> Paginator-> paginate ('Country', $ conditions, array(), $ order); –

0

보십시오이

$this->paginate = array(
     'limit' => 20, 
     'conditions'=>$conditions, 
     'order' => $order 
     ); 
$data = $this->paginate('Country'); 
+0

귀하의 의견을 보내 주셔서 감사합니다,하지만 작동하지 않습니다, 나는 동일한 출력을 받고있어 ... :-( –

+0

'$ order' 변수에 무엇이 있는지 보여 줄 수 있습니까? – Sadikhasan

+0

POST로 정렬 조건을 수신하고 있습니다. 그리고 내가 페이지 매기기 전에 이렇게하고있다 : if ($ this-> request-> data [ 'SORTCountry_name']) {($ this-> request-> data [ 'SORTCountry_name']) { if array_push ($ 순서 "Country.name DESC"); } 다른 { array_push ($ 순서 "Country.name의 ASC"); } } 내가 JSON을 통해 $ 순서를 다시 보내 "나라가 있습니다 .name DESC "를 값으로 사용 –