3

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 をコレクションに追加するにはどうすればよいですか?

ありがとう、ニート

4

2 に答える 2