2014-02-11 92 views
0

在CakePHP中,我想排序我的序列ASC索引列表(由paginator組件創建),但它不會工作。如果我看到CakePHP的文檔(http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#query-setup)查詢設置,我的分頁程序的設置應該是這樣的:CakePHP paginator不排序

public function index() 
{ 
    $this->Paginator->settings = array(
     'Attraction' => array(
      'conditions' => array(
       'Attraction.deleted' => null 
      ), 
      'order' => array(
       'Attraction.sequence ASC', 
       'Attraction.id ASC' 
      ), 
      'limit' => 15 
     ) 
    ); 

    $attractions = $this->Paginator->paginate('Attraction'); 

    $this->set('attractions', $attractions); 
} 

但每次我打開我的索引文件列表排序的ID,而忽略了「訂單」設置。任何人都可以告訴我,我的分頁程序設置中的「訂單」項是否有任何問題? ;) Thx!

回答

0

嘗試

'order' => array(
    'Attraction.sequence' => 'asc', 
    'Attraction.id' => 'asc' 
), 

編輯:

分揀方向必須在數組值,而字段名稱應的索引。我在本細則中發現的examles總是顯示出

+0

你可以添加一些描述嗎? –

0

我不認爲你應該有吸引力指數在你的選擇陣列 - 換句話說,我覺得你的選擇陣列應該是這樣的:

$this->Paginator->settings = array(
    'conditions' => array(
     'Attraction.deleted' => null 
    ), 
    'order' => array(
     'Attraction.sequence ASC', 
     'Attraction.id ASC' 
    ), 
    'limit' => 15 
); 
+0

是的,這很有效,但如CakePHP所記錄,應該可以在同一個動作中爲多個列表分頁:http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html #query-setup(見代碼塊4)。目前,我只有一個列表,但可能需要添加第二個列表。也許,當我有2個列表時,我的代碼會起作用嗎? :) – Sam