通过订单号获取订单商品(产品)

Get order items (products) by Order number

这里我展示了如何通过订单号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 获取所有项目信息(名称、价格、图像..)。

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

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

使用 sql 查询,如:

这用于 select 项名称和数据

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