自动将查询转换为zend db select

时间:2011-08-22 00:58:26

标签: php mysql zend-framework

因为我需要为zend paginator使用zend db select对象,我想知道是否有人发现了自动转换机制的实现b / wa对zend db select对象的正常查询或者实际上实现了这样的自动转换和愿意分享代码......

请注意,我不是要求如何将查询转换为zend db select ...我知道该怎么做....我问是否有人已经/知道这样的程序的实际编码实现,因为我不想浪费时间重新发明轮子....

1 个答案:

答案 0 :(得分:0)

您应该能够使用null适配器,只需传递计数而不是查询。您需要先自己计算出计数(总记录数)。

$total = 531; // from COUNT(*) or similar

$paginator = Zend_Paginator::factory($total);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage($perPage);
$paginator->render();

这允许您仅使用分页器来呈现分页,而不是实际应用对数据的限制。如果你有页面和每页的项目,你应该能够非常容易地生成LIMIT子句。

您还可以创建自己的带有(字符串)查询的适配器,然后使用适配器将限制应用到它的末尾。这样,你也可以让它实现getItems()方法,使其标准化。