Magento Configurable Products – Get All Without Associated Products

ce-1.9.2.2configurable-productproduct-collection

In magento 1.9 I need to get collection of all configurable products that have no associated products. The first idea is to get all configurable and then in loop check each for its children. But maybe there is more elegant way?

Best Answer

You can use below code to get all configurable products which does not have any associated products.

$collection = Mage::getModel("catalog/product")->getCollection()->addAttributeToSelect("*")->addAttributeToFilter('type_id', 'configurable');
$collection->getSelect()->join(
        'catalog_product_super_link',
        'entity_id != catalog_product_super_link.parent_id',
        array('parent_id')
    )->group('parent_id');
foreach($collection as $product){
    echo $product->getName()."<br>";
}
Related Topic