【发布时间】:2015-05-23 22:04:13
【问题描述】:
我有一个要分页的合并集合,但我似乎无法弄清楚。
首先,我需要手动创建分页器的原因是因为我先获取 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 中的一个错误。我检查了 Illuminate\Pagination\Paginator 和 checkForMorePages() 函数对项目进行切片,总是从 0 开始,而不是从 ($this->currentPage()-1)*$this->perPage()