Magento:设置集合的限制
我试图找出的问题是如何设置限制集合,我在Google上find的答案仅适用于带有setPage($ pageNum,$ pageSize)的Catalog。 这不适用于任何其他collections。
请参阅下面的答案。
做这件事有很多种方法:
$collection = Mage::getModel('...') ->getCollection() ->setPageSize(20) ->setCurPage(1);
将获得前20个logging。
这是另一种可能的方式:
$collection = Mage::getModel('...')->getCollection(); $collection->getSelect()->limit(20);
这将调用Zend Db限制。 您可以将偏移量设置为第二个参数。
要做的是在函数setPage($pageNum, $pageSize)
Magento 1.7.2中第380行的code/core/Mage/Catalog/Model/Resource/Category/Flat/Collection.php
中的setPage($pageNum, $pageSize)
$collection = Mage::getModel('model') ->getCollection() ->setCurPage(2) // 2nd page ->setPageSize(10); // 10 elements per pages
我希望这会帮助别人。
订单收集限制:
$orderCollection = Mage::getResourceModel('sales/order_collection'); $orderCollection->getSelect()->limit(10); $orderModel = Mage::getModel('sales/order'); foreach ($orderCollection->getItems() as $order) : $order = $orderModel->load($order['entity_id']); echo $order->getId().'<br>'; endforeach;
你也可以实现这个: – setPage(1,n); 其中,n =任何数字。
$products = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect('*') ->addAttributeToSelect(array('name', 'price', 'small_image')) ->addFieldToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH) //visible only catalog & searchable product ->addAttributeToFilter('status', 1) // enabled ->setStoreId($storeId) ->setOrder('created_at', 'desc') ->setPage(1, 6);
- 为什么没有java.util.Set get(int index)?
- 如何从ArrayList中删除重复的元素?
- Apache Commons与Guava(前身为“Google Collections”)
- Java HashSet vs HashMap
- 我怎样才能初始化一个静态的地图?
- List vs ArrayList vs Dictionary vs Hashtable vs Stack vs Queue?
- 为什么Python不支持loggingtypes,即可变的namedtuple
- 为什么java.util.Properties实现Map <Object,Object>而不是Map <String,String>
- 性能差异…如此戏剧性?