php - 路由分页 Cakephp 3

标签 php cakephp pagination routes cakephp-3.0

我正在使用 CakePHP 3,我想为我的用户分页。 但是,当我点击第二页时,URL 看起来像 /users?page=2,我期望:/users/2

我在 routes.php 中创建了这条路线:

$routes->connect('/users/:page', ['controller' => 'users', 'action' => 'index'], ['page' => '[0-9]+']);

在 Users/index.ctp 中,我在“prev”按钮之前放置:

<?php
      $this->Paginator->options([
              'url' => [
              'controller' => 'users',
              'action' => 'index'
          ]
      ]);
 ?>

例如,现在当我单击第 2 页时,/users/2 打开并且我收到此错误消息 (RuntimeException):

Unable to locate an object compatible with paginate.

我是否遗漏了什么或哪里出错了?

感谢您的帮助。

最佳答案

PaginatorHelper 内置了 url 格式,即使用 ?page=n。它还会进行排序,例如 users?page=2&sort=user_id&direction=asc。您的/users/{page} 格式不处理排序。

如果您真的想坚持使用/users/{page},则必须重写 PaginatorHelper。

关于php - 路由分页 Cakephp 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31086370/

相关文章:

php - Typo3,如何获取从查询对象创建的 MySQL 查询

php - CakePHP:向日期字段添加天数并在查找查询中比较它们

php - 在 CakePHP 2.x 分页中按计算的 MySQL 字段排序

php - HTML 到 MS Word 文档?

php - 从mysql中的多个表中选择数据?

image - Cakephp 3.3 中的文件上传

cakephp - CakePHP 3.0中虚拟字段/实体属性上的分页排序链接

angularjs - 如何向 ngx-bootstrap 分页添加过滤器?

php - 将字符串拆分为数组并附加上一个值

蛋糕PHP 1.3 : how to execute an action without going to its view