2011-08-22 72 views
1

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

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

回答

0

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

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

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

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

您也可以制作您自己的适配器,该适配器接受(字符串)查询,并将适用的限制应用到适配器的末尾。这样,您可以让它实现getItems()方法,使其标准化。