Magento:查找包含产品的订单

问题描述:

Magento有没有办法找到包含给定产品的所有订单?如果可以从管理小组完成,那将会更好。Magento:查找包含产品的订单

报告 - >产品 - >产品订购让我知道产品销售的日期和订购数量,但我需要知道哪些特定订单包含产品。

谢谢!

+1

的[获取在Magento扩展令有一定的产品列表]可能重复(http://stackoverflow.com/questions/18125638/get-a -Mono-extension-that-have-a-certain-product) – RichardBernards 2014-11-27 11:32:08

+0

也许你应该改变接受的答案...... – RichardBernards 2015-06-10 09:35:05

您可以通过简单的MySQL查询得到: -

select order_id from sales_flat_order_item where product_id=//given product id 

OR

您可以根据自己的需要自定义报表。

+0

是的,这几乎是我所尝试过的。我的错误是,因为我有产品的名称而不是product_id,所以在“description”字段而不是“name”字段中查找产品名称。 – fdierre 2011-01-12 14:53:11

+0

如果magento设置为不使用平面表,这将如何工作? – Benubird 2013-02-22 14:48:53

如果你想获得的,而不是ORDER_ID的increment_id(增量订单号),你可以简单地使用此声明:

SELECT o.increment_id 
FROM sales_flat_order_item oi 
INNER JOIN sales_flat_order o ON o.entity_id = oi.order_id 
WHERE product_id=XXX ORDER BY o.increment_id DESC; 

我在回答另一个问题这个问题; Get a list of orders in magento extension that have a certain product

对于快速参考:

$productId = {PRODUCT_ID}; 
$orders = array(); 
$collection = Mage::getResourceModel('sales/order_item_collection') 
    ->addAttributeToFilter('product_id', array('eq' => $productId)) 
    ->load(); 
foreach($collection as $orderItem) { 
    $orders[$orderItem->getOrder()->getIncrementId()] = $orderItem->getOrder(); 
}