CakePHP 2.1自定义分页

时间:2013-01-02 10:25:05

标签: cakephp pagination cakephp-2.1 sql-limit

我正在使用cakephp 2.1并定义了3个表如下。

   `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 个答案:

答案 0 :(得分: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
  )
);