我们如何使用paginate在topics中执行下面的语句?
$posts=$this->Topic->Post->find('all',array('conditions'=>array('Post.topic_id'=>$id)));
在这里,我的目的是连接主题和Posts表,使用cakePHP中的paginate()
检索posts表中主题id匹配的帖子的数量。
例如,如果主题id 1有n个帖子。如果更改了主题id,则将使用paginate()
显示该主题所属的帖子。
发布于 2015-06-24 06:28:54
您需要使用paginator component而不是find
:-
$data = $this->Paginator->paginate(
'Post',
array('Post.topic_id' => $id)
);
paginate
的第二个参数过滤结果(即这些是查询条件)。
您还可以使用$this->paginate
向paginate
传递与普通find
相同的参数。例如:
$this->paginate = array(
'conditions' => array('Post.topic_id' => $id),
'order' => 'Post.created DESC'
);
$data = $this->Paginator->paginate('Post');
在您的情况下,第一个示例应该就足够了。
确保在控制器中加载Paginator
组件:-
class PostsController extends AppController {
public $components = array('Paginator');
}
https://stackoverflow.com/questions/31018417
复制