因为我需要为zend paginator使用zend db select对象,我想知道是否有人发现了自动转换机制的实现b / wa对zend db select对象的正常查询或者实际上实现了这样的自动转换和愿意分享代码......
请注意,我不是要求如何将查询转换为zend db select ...我知道该怎么做....我问是否有人已经/知道这样的程序的实际编码实现,因为我不想浪费时间重新发明轮子....
答案 0 :(得分:0)
您应该能够使用null适配器,只需传递计数而不是查询。您需要先自己计算出计数(总记录数)。
$total = 531; // from COUNT(*) or similar
$paginator = Zend_Paginator::factory($total);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage($perPage);
$paginator->render();
这允许您仅使用分页器来呈现分页,而不是实际应用对数据的限制。如果你有页面和每页的项目,你应该能够非常容易地生成LIMIT子句。
您还可以创建自己的带有(字符串)查询的适配器,然后使用适配器将限制应用到它的末尾。这样,你也可以让它实现getItems()方法,使其标准化。