Magento - 使用特定自定义选项检索订单产品

时间:2012-02-19 12:45:26

标签: php mysql magento

我想从所有订单中检索具有特定(自定义)选项值(由前端客户提供)的所有产品ID - 无论商店/网站如何。

该选项是文本字段(Mage_Catalog_Model_Product_Option_Type_Text),SKU(和标题)是 test_option ,我正在寻找的值是绿色

我更喜欢使用原始MySQL查询来执行此操作,但使用Magentos模型/集合的解决方案肯定就足够了。

2 个答案:

答案 0 :(得分:0)

尝试以下代码

<?php $collection = Mage::getResourceModel('sales/order_collection'); 
$productIds = array();
foreach($collection as $order) {
    $order = Mage::getModel('sales/order')->load($order->getId());
    $items = $order->getAllItems();
    foreach ($items as $item){
        $proOptions = $item->getProductOptions();
        if($proOptions['options']){
            $productIds[] = $item->getProductId();
        }
    }
}
?>

$ productIds变量返回具有特定(自定义)选项值的所有产品ID。

它可以帮助你!

答案 1 :(得分:0)

对于直接sql查询,你可以试试这个。如果你想提出一些条件,你可以根据你的要求添加。

SELECT sfoi.product_id FROM sales_flat_order e 
LEFT JOIN 
sales_flat_order_item sfoi 
ON 
( e.entity_id = sfoi.order_id )