如何获得magento中的所有最后订单状态?

时间:2012-08-23 20:02:25

标签: php magento status orders

如何获取Magento的最后订单状态?

例如,订单可能具有多个状态,但我想获取最后一个状态订单的状态。 1.Pending => 2.processing => 3的完整

$myOrder=Mage::getModel('sales/order'); 
$orders=Mage::getModel('sales/mysql4_order_collection');
$orders->addFieldToFilter('status',array('in'=> array('processing', 'processed', 'pending fullfilment'))); 



$orders->addFieldToFilter('store_id',array("in" => array('8', '9'))); 

$orders->addAttributeToSort('created_at', 'asc');

$allIds=$orders->getAllIds();

print_r($allIds).'</br></br>';

foreach($allIds as $thisId) {
...
}

2 个答案:

答案 0 :(得分:3)

按订单收集的两个最明显的字段是entity_id或c reated_at。但在几乎所有情况下,你都应该看到每个人的相同结果......

按entity_id

$status = Mage::getModel('sales/order')->getCollection()
    ->setOrder('entity_id', Varien_Data_Collection::SORT_ORDER_DESC)
    ->getFirstItem()
    ->getData('status')
;

按created_at

$status = Mage::getModel('sales/order')->getCollection()
    ->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC)
    ->getFirstItem()
    ->getData('status')
;

答案 1 :(得分:0)

实际上应该非常简单:

$status = Mage::getModel('sales/order')->getCollection()
    ->setOrder('entity_id', Varien_Data_Collection::SORT_ORDER_DESC)
    ->getFirstItem()
    ->getStatus();

请注意,statusstate是两个略有不同的字段,您可能需要仔细检查并确保根据需要选择正确的字段。