我这样做是为了对用户添加到收藏夹的所有帖子进行分页:
$favs = $this->Favorite->find('all', array(
'fields' => array(
'Favorite.post_id'
),
'conditions' => array(
'Favorite.user_id' => $this->Auth->user('id')
)
));
$favs = Set::format($favs, '{0}', array('{n}.Favorite.post_id'));
$posts = $this->paginate('Post', array(
'Post.id' => $favs
));
有没有更有效的方法来做到这一点,或者这是像它应该是什么?
2条答案
按热度按时间guykilcj1#
在这里,您实际上不需要使用
find
方法,因为paginate
的工作方式与find
基本相同,只是对结果进行分页。所以你可以只使用
paginate
方法来做你想做的事情。我怀疑这是否会显著提高性能,但它会使代码更简单一些。
zbsbpyhn2#
谢谢你们的帖子,但是我昨天找到了一个简单的解决方案。我希望它能对一些人有帮助