Я работаю над созданием сводного отчета по категориям для магазина Magento (1.6).
Для этого я хочу получить коллекцию Order Item для подмножества продуктов - тех продуктов, чей уникальный идентификатор категории (это созданный мной атрибут продукта Magento) соответствует определенному значению.
Я могу получить соответствующий набор результатов, основываясь на коллекции по каталогу / продукту.
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('unique_category_id', '75')
->joinTable('sales/order_item', 'product_id=entity_id', array('price'=>'price','qty_ordered' => 'qty_ordered'));
Magento не нравится, так как для одного и того же идентификатора продукта есть повторяющиеся записи.
Как создать код для получения этого набора результатов на основе позиций заказа? Присоединение к коллекции товаров, отфильтрованных по атрибуту, ускользает от меня. Этот код не работает, так как предполагает, что атрибут находится в позиции заказа, а не в продукте.
$collection = Mage::getModel('sales/order_item')
->getCollection()
->join('catalog/product', 'entity_id=product_id')
->addAttributeToFilter('unique_category_id', '75');
Любая помощь приветствуется.