合并集合的手动分页器

Manual paginator on merged collection

我有一个合并的集合,我想对其进行分页,但我似乎无法解决这个问题。

首先,我需要手动创建分页器的原因是我首先获取 2 个集合并合并它们,如下所示:

$a = ModelA::all();
$b = ModelB::all();

$c = $a->merge($b);

下一步是对这个集合进行分页,我尝试了 Paginator 和 LengthAwarePaginator

分页器

$page = 1;
$results = new Paginator($c, 2, $page);

在这里,我在分页器中获得了前 2 个结果

$page = 2;
$results = new Paginator($c, 2, $page);

我仍然得到前 2 个结果,而我希望得到第三和第四个结果(集合超过 2 个元素!)

LENGTHAWAREPAGINATOR

$page = 1;
$results = new LengthAwarePaginator($c, count($c), 2, $page);

这里我得到了一个分页器,但项目包含集合的所有元素,无论我要求的页码是什么(而不是我要求的 2)

对可能出现的问题有什么想法吗? 提前谢谢你

根据 Laravel 社区,这是故意的。 在将项目传递给分页器之前,您应该对其进行切片。