我将Ids设置为数组。它是一个复杂的搜索逻辑。例如,我的数组是:
require.ensure
这些ID中的每一个都有效并代表帖子。所以我所做的就是将它们循环到每个循环中,并将所有数据收集到最终数组中。示例:
array(2,5,1,8,9,12,83,32);
然后我将这些$帖子发送到我的视图。在这种情况下是否可以实现laravel分页。请记住,我无法使用$ ArrayOfIds播放。
答案 0 :(得分:1)
是的,例如使用Illuminate\Pagination\LengthAwarePaginator
public function showPost()
{
$posts = [];
foreach($ArrayOfIds as $id) {
$posts[] = Post::findOrFail($id);
}
$perPage = 6;
$paginator = new LengthAwarePaginator($posts, count($posts), $perPage);
$items = $paginator->getCollection();
return $paginator->setCollection(
$items->forPage($paginator->currentPage(), $perPage)
);
}
首先,我实例化LengthAwarePaginator
类,并使用所需的参数see here来提供它。然后,由于我需要设置哪些帖子属于哪个页面,然后我使用Illuminate/Support/Collection
中的forPage
方法。
类似的东西。