我正在使用 Fat Free Framework 的 DB Cursor 类中的 paginate
方法,但是查看代码时我无法理解。
$mapper->paginate([ int $pos = 0 ], [ int $size = 10 ], [ string|array $filter = NULL ], [ array $options = NULL ]);
看起来 $pos
参数应该是查询结果中的偏移量,而 $size
参数是结果请求的长度。我说得对吗?
我的问题来了...
为什么fatfreeframework/db/cursor.php
的line 89
中的offset
定义为$pos * $尺寸
?
如果我调用 $mapper->paginate( 52, 10 )
我想看到从第 52 条开始的 10 条记录,而不是从第 520 条开始的 10 条记录!
我错过了什么吗?
我是否应该像使用页码一样使用 $pos
参数?
谢谢
最佳答案
是的,$pos 变量是页码偏移量。如果你将它设置为 52,你将得到第 52 页,这取决于你的页面大小(限制),就像 paginate 的名字所暗示的那样。
如果您只想在查询中使用偏移量和限制,您可以使用类似 $mapper->find(array('foo > 1'),array('limit'=>10,'offset'= >520));
这相当于分页页号。 52
关于mysql - F3 (Fat Free Framework) DB\Cursor->paginate 行为怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18035435/