Magento 如何从具有自定义选项的产品集合中筛选产品?

Magento 如何从具有自定义选项的产品集合中筛选产品?,magento,Magento,我想得到所有有定制选项的产品。 我应该使用哪个过滤器仅获取具有自定义选项的产品 $collction = Mage::getModel('catalog/product')->getCollection(); magento中没有直接过滤功能来获取具有自定义选项的产品。 使用以下代码: $collection = Mage::getModel('catalog/product') ->getCollection(); $collection->getS

我想得到所有有定制选项的产品。 我应该使用哪个过滤器仅获取具有自定义选项的产品

$collction = Mage::getModel('catalog/product')->getCollection();

magento中没有直接过滤功能来获取具有自定义选项的产品。 使用以下代码:

$collection = Mage::getModel('catalog/product')
            ->getCollection();
$collection->getSelect()
    ->join(
        array(
            'opt_table' => new Zend_Db_Expr('(SELECT DISTINCT(product_id) as `opt_product_id` FROM catalog_product_option)')
        ),
        'opt_product_id = entity_id',
        'opt_product_id'
);


foreach($collection as $product) {
    //Load the product if required
}

我收到一个异常:致命错误:未捕获的异常“exception”,消息是D:\wamp\www\rfg\lib\Varien\Data\Collection.php:373堆栈跟踪中“Item(Mage\u Catalog\u Model\u Product)已存在,id为“6”:#0@Muk我已经使用内部查询更新了答案。。。如果您有很多带有自定义选项的产品,可能会慢一点。您的代码现在运行良好。我总共有43000个产品要测试。在这种情况下这足够快吗?对于43000条记录,速度应该不会慢很多!另一件事是,如果没有重复的行,就没有其他选项可以连接这些表!!“另一件事是没有其他选项可以连接这些没有重复行的表!!”是什么意思?