我有一个表格,其中包含不同版本的文本。我希望显示每个版本与前一个版本的差异。如果版本超过20个,我还希望对版本进行分页。但是,要对每页上的最后一个文本进行差异比较,我需要下一页的第一个文本。我不能只将页面大小增大一个(在本例中为21),因为第二页将跳过其第一实体,而第三页将跳过其前两个实体,等等。
$config = $this->Paginator->getConfig();
$this->Paginator->setConfig('limit', $config['limit'] + 1);
$inscriptions = $this->paginate($query);
我可以通过对单个实体进行单独的->paginate()
调用来解决这个问题,但是如果可能的话,我宁愿不执行第二个查询。
$inscriptions = $this->paginate($query);
$config = $this->Paginator->getConfig();
$this->Paginator->setConfig([
'limit' => 1,
'page' => ($config['page'] * $config['limit']) + 1
]);
$inscriptions[] = $this->paginate($query)->first();
有没有办法跳过前n个结果?在这种情况下,我 * 可以 * 将页面大小设置为21,但将页码设置为1,并跳过前((旧页码- 1)* 旧页面大小)实体。
1条答案
按热度按时间kr98yfug1#
可以创建一个自定义分页器来扩展默认分页器,但其功能如下所述:
然后在控制器中使用以下命令: