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 つの注文があります。注文 ID =24 には 2 つの製品があります 注文 ID 25 には 1 つの製品があります したがって、上記のクエリをデータベースで実行すると、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 をコレクションに追加するにはどうすればよいですか?
ありがとう、ニート