Я работаю над созданием сетки позиций заказов на продажу в Magento 1.7. Для этого я создал новое подменю в меню «Продажи» в админке. В сетке Order Item каждый заказанный продукт будет отображаться в новой строке. Следовательно, в сетке может быть несколько идентификаторов OrderId. Мой запрос в классе сетки:
$collection = Mage::getResourceModel('sales/order_collection')
->join(
'sales/order_item',
'`sales/order_item`.order_id=`main_table`.entity_id',
array(
'skus' => `sales/order_item`.`sku`,
'names' => `sales/order_item`.`name`,
'order_incharge' => `sales/order_item`.`order_incharge` ,
'proptions' => `sales/order_item`.`product_options` ,
));
У меня нет предложения GroupBy. Когда я печатаю этот запрос в журнале, он выглядит так:
SELECT `main_table`.* FROM `sales_flat_order` AS `main_table` INNER JOIN `sales_flat_order_item` AS `sales/order_item` ON `sales/order_item`.order_id=`main_table`.entity_id
У меня есть 2 заказа в моей базе. Идентификатор заказа = 24 имеет два продукта. Идентификатор заказа 25 имеет один продукт. Таким образом, приведенный выше запрос при запуске в базе данных правильно отображает 3 записи. Однако это не отображается в сетке. Я получаю следующую ошибку при попытке отобразить в сетке:
Item (Mage_Sales_Model_Order) with the same id "24" already exist";i:1;s:4274:"#0 C:\wamp\www\bakery\lib\Varien\Data\Collection\Db.php(576): Varien_Data_Collection->addItem(Object(Mage_Sales_Model_Order))
Как решить эту проблему, чтобы в коллекцию можно было добавить тот же идентификатор заказа?
Спасибо, Нит