【问题标题】:F3 (Fat Free Framework) DB\Cursor->paginate acting in a weird wayF3 (Fat Free Framework) DB\Cursor->paginate 行为怪异
【发布时间】:2013-08-04 07:24:00
【问题描述】:

我正在使用来自 Fat Free Framework 的 DB Cursor Class 的 paginate 方法,但查看代码时我无法理解。

$mapper->paginate([ int $pos = 0 ], [ int $size = 10 ], [ string|array $filter = NULL ], [ array $options = NULL ]);

看起来$pos 参数应该是查询结果中的偏移量,$size 参数是结果请求的长度。我说的对吗?

我的问题来了……

为什么在fatfreeframework/db/cursor.phpline 89 的代码中将offset 定义为$pos * $size

如果我打电话给$mapper->paginate( 52, 10 ),我希望看到从第 52 条开始的 10 条记录,而不是从第 520 条开始的 10 条记录!

我错过了什么吗?

我应该像使用页码一样使用$pos 参数吗?

谢谢

【问题讨论】:

    标签: mysql sql pagination fat-free-framework


    【解决方案1】:

    是的,$pos 变量是页码偏移量。如果您将其设置为 52,您将获得第 52 页,基于您的页面大小(限制),就像名称 paginate 所暗示的那样。 如果您只想在查询中使用偏移量和限制,则可以使用 $mapper->find(array('foo > 1'),array('limit'=>10,'offset'=>520)); 之类的东西,这相当于分页页码。 52

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      相关资源
      最近更新 更多