在 cakePHP 3 视图中获取当前分页器限制

Get current paginator limit in cakePHP 3 view

我使用的是 cakePHP 3.3,我想要一个带有更改限制选项的过滤器。此选项应选择电流限制。

在我看来,获取分页器中使用的当前 limit 或每页结果的最佳方法是什么?

我使用 <?= $this->Paginator->counter('{{current}}'); ?> 但这感觉很老套,而且它是字符串的限制。
另外,如果结果小于限制,这将不会显示限制,而是显示找到的结果数。

分页器组件使用键 paging 向请求对象参数添加分页详细信息,其中使用 table 对象的别名嵌套数据。

检查

debug($this->request->param('paging'));

可以通过分页助手 param() 方法在您的视图模板中轻松访问此数据。

$this->Paginator->param('perPage');

那么,为什么 perPage?你可能会问。好吧,虽然还有一个 limit 参数,但它始终是 null 除非您没有在分页选项中明确设置 limit 值和 limit 值正在 URL 中传递(至少除非传递的值与默认值不匹配)。我真的不明白这种行为的意义,但是,就是这样。

无论如何,目前这些是支持的参数:

  • count
  • current
  • direction
  • directionDefault
  • finder
  • limit
  • nextPage
  • page
  • pageCount
  • perPage
  • prevPage
  • scope
  • sort
  • sortDefault

另见