2016-03-31 27 views
0

iki model katılıyor. Bu Modelde gitmesi gerektiğiniben denetleyicisi katılmak isteyen iki tablo .. <p>paginate modeli</p> da koşulların bir şey var ama burada bunu basitleştirmek istedi sahip bir sayfalandırmak

$Table = $this->Table->query(' 
SELECT Table.id FROM Table 
       INNER JOIN TableA ON Table.id = TableA.table_id 
       INNER JOIN TableA.Table_id = TabelB.id 
       WHERE 
       IFNULL(Table.x,0) <> 0 
       GROUP BY Table.id 
       HAVING COUNT(*) > 1'); 


$this->paginate = array(
'paramType' => 'querystring' 
,'joins' => $Table 
    )   
); 

Ben SQL arka plandan daha geliyor, Cake o rahat nGoogle'a değilim, ama bu denetleyicisi yapılabilir ya nedir? Ben "Bir alt sorgu ile Kontrolör pagination" bir özdeş söz konusu cevap olarak

+0

için aynı cevabı kodunuzla eşleştirin – Salman

cevap

0

burada ben sayfalandırma cadı ile bindModel bir çalışma örneği benim için çalışıyor, post Bu soruya burada

$this->paginate = array(
'paramType' => 'querystring', 
'joins' => array(
    array(
    'table' => '(SELECT Table.id 
       FROM Table 
       INNER JOIN TableA ON Table.id = TableA.Table_id 
       INNER JOIN TableB ON TableA.TableB_id = TableB.id 
       WHERE 
       1 = 1 
       GROUP BY Table.id 
       HAVING COUNT(*) = 1)' 
     'alias' => 'Table_x', 
     'type' => 'INNER', 
     'conditions' => array('Table_x.id = Table.id') 
     ) 
    ) 
); 


$Table = $this->paginate(); 
0
$UserId = $this->Auth->user(id); 
$this->Rate->bindModel(array('belongsTo'=>array('Vehicle'=>array('className'=>'Vehicle','foreignKey'=>'vehicle_id'),),),false); 

    $this->paginate = array('conditions'=>array('Rate.user_id'=>$UserId), 
         'order'  => array('Rate.created DESC'), 
         'limit'  =>'2' 
         );  
    $rating = $this->paginate('Rate');