按订单号获取订单商品(产品)

时间:2017-07-20 21:51:29

标签: magento magento-1.9

在这里,我将展示如何通过订单号id获取订单中的商品:

$order = Mage::getModel('sales/order')->load($order_id);
$items = $order->getAllItems();
$itemcount = count($items);
$name = array();
$unitPrice = array();
$sku = array();
$ids = array();
$qty = array();
foreach ($items as $itemId => $item) {
    $name[] = $item->getName();
    $unitPrice[] = $item->getPrice();
    $sku[] = $item->getSku();
    $ids[] = $item->getProductId();
    $qty[] = $item->getQtyToInvoice();
}

如何在SQL中执行相同的操作,按订单号id获取所有商品信息(名称,价格,图片..)。

2 个答案:

答案 0 :(得分:2)

// getSelect()方法仅允许订单收集,因此您可以打印特定订单的查询,如下所示。

$order_id = 12345;
$orders = Mage::getResourceModel('sales/order_collection')
  ->addAttributeToSelect('*')
  ->addAttributeToFilter('entity_id', $order_id);
echo $orders->getSelect();

答案 1 :(得分:0)

使用sql查询,如:

这是选择项目名称和数据

select sales_flat_order.entity_id,sales_flat_order.increment_id,sales_flat_order_item.item_id, sales_flat_order_item.sku, sales_flat_order_item.name from sales_flat_order right join sales_flat_order_item on sales_flat_order.entity_id = sales_flat_order_item.order_id where increment_id = 100000042