2

我正在使用集合在 Magento 中手动构建一个报告,并且我正在尝试使用订单完成日期而不是订单创建日期。

我目前的代码是:

$orders = Mage::getModel('sales/order')->getCollection()
            ->addAttributeToFilter('created_at', array('from'=>$fromDate, 'to'=>$toDate))
            ->addAttributeToFilter('status', array('eq' => Mage_Sales_Model_Order::STATE_COMPLETE))
            ->addAttributeToFilter('store_id', array('eq' => 2));

我发现了以下问题,用户建议手动手动记录每个订单的所有状态更改。

查看订单状态何时设置为已完成

由于我想在集合中使用它,我不认为这是一种合适的方式,我也有点希望在 Magento 中可以访问这种信息。

谢谢,

4

1 回答 1

7

您可以检索订单状态历史更新的集合:

$collection = Mage::getResourceModel('sales/order_status_history_collection')
    ->addAttributeToSelect('created_at', 'parent_id')
    ->addAttributeToFilter('status', array('eq'=>'complete'))
    ->load();

之后,您可以迭代 $collection 并提取 parent_id 和 created_at 以获得所需的信息。

于 2013-08-08T14:56:09.963 回答