如何在Magento的非EAV模型中使用setPage()进行分页/限制?

des*_*est 2 magento

我需要开始$collection->setPage(0, 10);研究我的非EAV模型并且它不起作用.我已经尝试了,$matches->getSelect()->setPage(0, 10);但它没有帮助.

Dre*_*ter 5

setPage()方法仅适用于Magento中基于EAV的集合,因为它在Mage_Eav_Model_Entity_Collection_Abstract类中定义...

public function setPage($pageNum, $pageSize)
{
    $this->setCurPage($pageNum)
        ->setPageSize($pageSize);
    return $this;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它是一个很好的速记实用程序,可用于基于EAV的集合.对于基于非EAV的集合,您可以在集合类中创建自己的版本,或者在初始化集合时使用更详细的语法来设置客户端代码中的页码和大小:

$collection->setCurPage($pageNum)
           ->setPageSize($pageSize)
;
Run Code Online (Sandbox Code Playgroud)