2013-01-02 98 views
0

我使用cakephp 2.1並定義了3個表格,如下所示。CakePHP 2.1自定義分頁

`industries(id, name);` 
    `movies(id, name, industry_id),` 
    `trailers(id, name, movie_id);` 

我想爲特定行業的預告片分頁。所以我寫的代碼如下:

$this->paginate = array(
        'Industry' => array(
         'contain' => array(
          'Movie' => array(
           'order' => 'Movie.release DESC', 
           'Trailer' => array(
            'conditions' => array(
             'Trailer.id !=' => $trailer_id 
            ) 
           ) 
          ) 
         ), 
         'conditions' => array(
          'Industry.id' => $id 
         ) 
        ) 
       ); 

如果我將指定'limit''Trailer',我得到正確的結果數,但一些null陣列的電影不包含任何預告片。請幫助我獲得特定行業拖車指定限額的數量。這項工作將非常感激。

回答

1

它在我看來像你有你的contain鍵在錯誤的地方。它應該在模型之前定義。

<?php 
$this->paginate = array(
    'contain' => array(
    'Industry' => array(
     'Movie' => array(
     'order' => 'Movie.release DESC', 
     'Trailer' => array(
      'conditions' => array(
      'Trailer.id !=' => $trailer_id 
     ) 
     ) 
    ) 
    ) 
), 
    'conditions' => array(
     'Industry.id' => $id 
) 
);