2014-07-11 61 views
-1

我無法顯示agreement_number小於7的協議,並通過agreement_number DESC進行排序。Paginate不排序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文檔的確切聯繫,但你似乎並不被跟隨它(比如,from herehere

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

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

謝謝@Nunser,幫助我! – tomas3man