我正在使用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
数组。请帮助我获取特定行业的预定拖车限制数量。我们非常感谢这项工作。
答案 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
)
);