Propel Criteria :: setLimit(),如LIMIT 0,6

时间:2012-09-04 04:58:49

标签: mysql symfony1 symfony-1.4 propel

在我使用Symfony 1.4 / Propel 1.4的查询中,出于分页目的,我需要设置限制

Page1: LIMIT 0,6
Page2: LIMIT 6,6
Page3: LIMIT 12,6
.... & so on

我试试

$c->setLimit(6);

正在生成

LIMIT 6

我没有找到带有两个参数或类似功能的setLimit方法来设置起始限制。这是非常常见的操作&我肯定必须在Propel中可用,但到目前为止我无法弄明白。

有人可以建议如何设置所需限制(LIMIT 0,6)

1 个答案:

答案 0 :(得分:10)

您应该使用limit()offset(),描述为here

有关

LIMIT 12,6

使用(如果您使用的是1.6 ModelCriteria)

$c->limit(6);
$c->offset(12);

如果您使用旧标准:

$c->setLimit(12);
$c->setOffset(12);

顺便问一下,为什么要建立自己的寻呼机? Symfony提供了一个sfPager(通用)和一个sfPropelPager,可以很好地处理(即使你使用自定义标准,你可以使用setCriteria()来定义它。)