Php Magento集合按值范围分组和限制

Php Magento集合按值范围分组和限制,php,mysql,zend-framework,magento,Php,Mysql,Zend Framework,Magento,我相信这可以通过一些聪明的mysql表达式或zend连接来解决,但我只是没有足够的知识来解决,希望SO社区中的某个人能够解决 假设我在Magento有一系列产品,它们是按类别位置订购的 我只想从集合中检索2个产品,那些具有最高类别位置的产品 以下应说明: Category: Product A (position 3); Product B (position 1); Product C (position 0); Product D (position 2);

我相信这可以通过一些聪明的mysql表达式或zend连接来解决,但我只是没有足够的知识来解决,希望SO社区中的某个人能够解决

假设我在Magento有一系列产品,它们是按类别位置订购的

我只想从集合中检索2个产品,那些具有最高类别位置的产品

以下应说明:

Category:
    Product A (position 3);
    Product B (position 1);
    Product C (position 0);
    Product D (position 2);
在这个集合中,我只想检索产品C和B,因为这是两个最高的位置

另一个例子:

Category:
    Product A (position 1);
    Product B (position 3);
    Product C (position 0);
    Product D (position 2);
在这个集合中,我只想检索产品C和A

如何在单个集合加载中完成此操作。例如,我不想加载集合,然后迭代和手动排序等

$_category = Mage::getModel('catalog/category')->load($categoryId);
$coll = $_category->getProductCollection()->addAttributeToSort('position','ASC');
$coll->getSelect()->limit(2);
$coll->load();
之后,您可以迭代您的集合:

foreach ($coll as $product) {
   // Do sth. with $product
}