mysql - F3 (Fat Free Framework) DB\Cursor->paginate 行为怪异

标签 mysql sql pagination fat-free-framework

我正在使用 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.phpline 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/

相关文章:

mysql - 如何计算 SQL 中选定的行数

grails - 如果已提供列表,如何使用grails分页?

angular - ag 网格分页不起作用,最初使服务器调用两次

mysql - 查询所有数据库的num_rows、size、num_tables、default_charset、default_collat​​ion

php - 将 mysql 连接移出到另一个类中

mysql - 仅导入 mysql 结构或恢复时忽略不存在的表和列?

php - 将身份证号码添加到数据库PHP

sql - where子句中的用例

sql - 如何执行SQL查询而不显示结果

javascript - 当在 div 中检测到垂直溢出时,有没有办法触发事件?