我正在 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 个订单。Order Id =24 有两个产品 Order Id 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))
如何解决此问题,以便可以将相同的订单 ID 添加到集合中?
谢谢,尼特