2012-11-07 52 views
0

實際上,我想見見這個SQL要求:

...其中(TYPE_ID = 6或TYPE_ID = 8)和狀態= 2 ...

但我不知道如何在$ paginate中設置條件。

var $paginate = array(
     'Student'=>array(
        'limit' => 10, 
        'fields'=>array('Student.id','Student.firstname','Student.lastname'), 
        'order' =>array('Student.id'=>'desc'), 
        'conditions' => ?, 
       ), 
     ); 

任何人都知道如何設置條件?

回答

2

基於此網站http://book.cakephp.org/1.3/view/1030/Complex-Find-Conditions (這不是lastes版本,但嘗試)

var $paginate = array(
     'Student'=>array(
        'limit' => 10, 
        'fields'=>array('Student.id','Student.firstname','Student.lastname'), 
        'order' =>array('Student.id'=>'desc'), 
        'conditions' => array(
         'Student.type_id' => array(6, 8), 
         'Student.status' => 2 
         ) 

       ), 
     ); 

var $paginate = array(
     'Student'=>array(
        'limit' => 10, 
        'fields'=>array('Student.id','Student.firstname','Student.lastname'), 
        'order' =>array('Student.id'=>'desc'), 
        'conditions' => array(
          'Student.status' => 2, 
          "OR" => array (
           'Student.type_id' => 6, 
           'Student.type_id' => 8 
           )        
         ) 

       ), 
     ); 

編輯:這第二個版本不能在這種情況下使用,因爲OR陣列具有兩個具有相同鍵的元素,並且將僅檢查最後的(8)

[ NB]對不起,如果我犯了一些語法錯誤:)

+0

最新版本的文檔還顯示如何與條件分頁:http://book.cakephp.org/2.0/en/core-libraries/components/pagination的.html#查詢設置。沒有感受到來自OP的很多努力:) –