Magento:查找包含产品的订单

fdi*_*rre 7 php magento

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

报告 - >产品 - >订购的产品给我产品销售的当天以及包含它的订单数量,但我需要知道哪些特定订单包含产品.

谢谢!

Ric*_*rds 25

我在另一个问题中回答了这个问题; 获取具有特定产品的magento扩展中的订单列表

供快速参考:

$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();
}
Run Code Online (Sandbox Code Playgroud)

  • 这应该是IMO的正确答案......你不应该直接向数据库查询,这是一个更好,更优雅的解决方案. (2认同)

Sha*_*ngh 8

你可以通过简单的mysql查询得到: -

select order_id from sales_flat_order_item where product_id=//given product id
Run Code Online (Sandbox Code Playgroud)

要么

您可以根据需要自定义报告.

  • 在Magento中,应始终避免直接数据库查询!看看我在下面提供的解决方案...... (2认同)

Pat*_*ick 5

如果你想得到 increment_id(增量订单号)而不是 order_id,你可以简单地使用这个 Statement:

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;
Run Code Online (Sandbox Code Playgroud)