0

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

例如,一个订单可能有多个状态,但我想获得最后一个状态订单的状态。1.待处理=>2.处理=>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) {
...
}
4

2 回答 2

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')
;
于 2012-08-24T20:07:05.080 回答
0

实际上应该很简单:

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

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

于 2012-08-24T04:41:41.137 回答