在Propel分页中:查询与标准

sam*_*old 1 php orm propel zend-framework

我有推进这个问题

$units = UnitQuery::create()->find();
Run Code Online (Sandbox Code Playgroud)

我正在尝试对返回的结果进行分页,所以我想我需要使用PropelPager,根据文档创建这样的

$criteria = new Criteria();
$criteria->add(BookPeer::AUTHOR, $authorId);
$pager = new PropelPager($criteria, 'BookPeer', 'doSelect', $page = 1, $rowsPerPage = 30);
Run Code Online (Sandbox Code Playgroud)

我不明白的是如何将$units我经常使用的1行查询转换为$criteria.

此外,有没有使用像一个正常的查询方式$unitsPropelPager?它会更容易比更改查询使用$criteriadoSelect等.

小智 6

你可以这样做:

$units = UnitQuery::create()
    ->filterByStuff($stuff)
    ->paginate($page = 1, $rowsPerPage = 30);
Run Code Online (Sandbox Code Playgroud)

如果你真的想使用自定义寻呼机(但你可能没有):

$query = UnitQuery::create()->filterByStuff($stuff);
$pager = new MyModelPager($query, $rowsPerPage = 30);
$pager->setPage($page = 1);
$pager->init();
Run Code Online (Sandbox Code Playgroud)

顺便说一句,Propel XXXQuery类只是类固醇的标准;)