我正在做一个电影网站项目。我需要限制每个电影页面 5 条评论。
$this->Movie->find('first', array(
'conditions' => array('Movie.url' => $req ), // URL to fetch the required page
'recursive' => 1
));
使用上面的代码,我得到了 1 部电影的详细信息以及所有(目前近 20 条)与该电影相关的评论。那么如何将评论限制为 5 ?
我正在做一个电影网站项目。我需要限制每个电影页面 5 条评论。
$this->Movie->find('first', array(
'conditions' => array('Movie.url' => $req ), // URL to fetch the required page
'recursive' => 1
));
使用上面的代码,我得到了 1 部电影的详细信息以及所有(目前近 20 条)与该电影相关的评论。那么如何将评论限制为 5 ?
你可以试试这个:
$this->Movie->find('all', array(
'conditions' => array('Movie.url' => $req ), // URL to fetch the required page
'limit'=>5,
'recursive' => -1
));
我想没有人知道如何解决,我找到了一些我可以暂时解决的方法。请有人告诉我最佳做法。
$movie = $this->Movie->find('first', array(
'conditions' => array('Movie.url' => $req ),
'recursive' => 0
));
$this->loadModel('MovieReview');
$movieReview = $this->MovieReview->find('all',array(
'conditions' => array('MovieReview.movie_id' => $movie['Movie']['id'] ),
'limit' => 5,
'recursive' => -1
));
$movie['MovieReview'] = $movieReview;
如果有人需要回答这个问题,请回答最佳实践。
$this->Movie->find('all', array(
'conditions' => array('Movie.url' => $req ), // URL to fetch the required page
'contain' => array('MovieReview' => array('limit' => 5))
));
有了这个,你将只获得 5 MovieReview 对于每部电影返回
对不起我的英语不好
尝试关联,设置限制选项
/**
* hasMany associations
*
* @var array
*/
public $hasMany = array(
'MovieReview' => array(
'className' => 'MovieReview',
'foreignKey' => 'movie_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '25',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);