假设我有一个在线商店,里面有100条商品,并且使用KNPPaginatorBundle处理分页器,每页10条,其中5条是特色商品。每个项目都有一个布尔字段“特色”,它告诉我们是否应该在非特征项之前。有什么办法用这个包裹来解决这个问题吗?
目前,我有一个包含5个功能项的数组和另一个包含100个未功能项的数组,我通常使用包遍历第一个数组,然后在第二个数组上迭代,但是这种方法在第一页给出了15个结果。因此,如果我可以告诉包返回第1页中的5个项目,然后在下面的10个返回10个项目,这将是非常理想的。
发布于 2014-06-25 19:53:18
最好的方法是先创建带有“特色”项的查询。(点菜?)
如果由于某些原因无法创建这样的查询,但您有项,则可以传递集合直接分页:
$collection = new \Doctrine\Common\Collections\ArrayCollection($featured);
foreach ($items as $item) {
$collection->add($item);
}
$pagination = $paginator->paginate(
$collection,
$this->get('request')->query->get('page', 1)/*page number*/,
10/*limit per page*/
);https://stackoverflow.com/questions/24415507
复制相似问题