F3(无脂肪框架)DB \ Cursor-> paginate以奇怪的方式运行

时间:2013-08-03 17:28:42

标签: mysql sql pagination fat-free-framework

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

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

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

这是我的问题......

为什么line 89 fatfreeframework/db/cursor.php的代码offset定义为$pos * $size

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

我错过了什么吗?

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

谢谢

1 个答案:

答案 0 :(得分:2)

是的,$ pos var是页码偏移量。如果将其设置为52,则会根据页面大小(限制)获得第52页,如分页名称所示。 如果您只是想在查询中使用偏移量和限制,则可以使用$mapper->find(array('foo > 1'),array('limit'=>10,'offset'=>520));之类的内容,它等同于分页页面号。 52