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

コレクションを並べ替える最も明白な 2 つのフィールドは、entity_idまたは created_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は 2 つのわずかに異なるフィールドであることに注意してください。必要に応じて適切なフィールドを取得していることを再確認してください。

于 2012-08-24T04:41:41.137 に答える