我需要$collection->setPage(0, 10);
才能在我的非EAV模型上工作,但它不起作用。我試過了,並且$matches->getSelect()->setPage(0, 10);
並沒有幫助。如何在Magento的非EAV模型中使用setPage()進行分頁/限制?
2
A
回答
4
的setPage()
方法僅適用於在Magento EAV基於集合,因爲它是在Mage_Eav_Model_Entity_Collection_Abstract
類中定義...
public function setPage($pageNum, $pageSize)
{
$this->setCurPage($pageNum)
->setPageSize($pageSize);
return $this;
}
正如你可以看到,它的一個很好的速記工具,可用於EAV基於集合。爲了您的非EAV根據收集你可以在你的集合類創建自己的這個版本或使用了更詳細的語法用於初始化集合時,設置在客戶端代碼的網頁數量和規模:
$collection->setCurPage($pageNum)
->setPageSize($pageSize)
;
1
public function updateIndex()
{
$productsCollection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect(array('name', 'image', 'url_key', 'price', 'visibility'));
$productsCollection->setPageSize(100);
$pages = $productsCollection->getLastPageNumber();
$currentPage = 1;
do {
$productsCollection->setCurPage($currentPage);
$productsCollection->load();
foreach ($productsCollection as $_product) {
$insertData = array(
'entity_id' => $_product->getId(),
'title' => $_product->getName(),
'image' => $_product->getImage(),
'url' => $_product->getUrlKey(),
'price' => $_product->getFinalPrice(),
);
$this->_getWriteAdapter()->insertOnDuplicate(
$this->getTable('atwix_sonar/suggestions'),
$insertData,
array('title', 'image', 'url', 'price')
);
}
$currentPage++;
//clear collection and free memory
$productsCollection->clear();
} while ($currentPage <= $pages);
}
看到這個完整的例子,它說明了如何使用magento collection pager功能。 來源:http://www.atwix.com/magento/working-with-large-collections/
相關問題
- 1. Magento。如何在自定義EAV模型
- 2. Grails的分頁:如何使用分頁來限制行
- 3. 如何使用我的模型在Flink中進行分組
- 4. 如何限制用戶對自己的模型進行投票
- 5. CakePHP:在模型中使用搜索邏輯進行分頁
- 6. 如何在CakePHP中對現有模型函數進行分頁?
- 7. 如何在Laravel中對多個模型進行分頁
- 8. 使用php進行分頁時不使用限制語法
- 9. Magento的分頁欄限制項目
- 10. 如何在asp gridview中使用分頁模板進行自定義分頁?
- 11. 使用NHibernate的EAV數據模型
- 12. 如何在laravel中爲模型使用定製/限制桌子?
- 13. 如何使用非orm模型自定義分頁
- 14. 如何在楊模型中對字符串模式進行限制
- 15. 在GridView中進行數據列表的簡單分頁 - 非定製分頁
- 16. 使用高斯混合模型進行二進制分類
- 17. 如何在流星中使用限制強制執行服務器端分頁
- 18. 使用限制和where子句進行分頁
- 19. 如何使用基於Django類的泛型ListView進行分頁?
- 20. 如何在php中進行限制?
- 21. 如何限制分頁?
- 22. magento - 如何在未初始化時向eav模型添加屬性
- 23. Mongoose:限制查詢結果在MongoDB中進行分頁
- 24. 如何限制訪問Magento中未登錄用戶的頁面
- 25. 如何在SQL中進行連接時限制行的上限?
- 26. 使用模型進行ID分配
- 27. 如何使用simpledb進行分頁?
- 28. 如何使用cursor()進行分頁?
- 29. 如何使用NHibernate進行分頁?
- 30. 如何在Python中使用十進制值進行模運算?