0

我正在使用 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'for 'Trailer',我会得到正确数量的结果,但是null对于不包含任何预告片的电影,我会得到一些数组。请帮我获取特定行业的指定拖车限制数量。这项工作将不胜感激。

4

1 回答 1

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
  )
);
于 2013-05-07T11:11:27.973 回答