Magento按状态筛选订单


Magento Filter orders by state

我正在尝试从magento商店导出订单

    $myOrder=Mage::getModel('sales/order'); 
    $orders=Mage::getModel('sales/mysql4_order_collection');
    $allIds=$orders->getAllIds();

但是它把所有的订单都返回给我。

如何根据状态"new"筛选订单?

I'm try

$orders->addFieldToFilter('state',Array('eq'=>"new"));
$myOrder->setData('state','new');

但是magento仍然返回所有订单。

你应该这样尝试

$order= Mage::getModel('sales/order')->getCollection()->addFieldToFilter('state', 'new');
$allIds = $order->getAllIds();

或者

Mage::getModel('sales/order')->getCollection()->addAttributeToSelect("*")->addAttributeToFilter(array(array('attribute'=>'status', 'eq'=>'pending')));

我想澄清更多细节。但是,这对你有帮助。

echo "$order->getSelect()->addFieldToFilter('state',Array('eq'=>"new"))->__toString();

这个脚本将打印成"Select * from your_table where state='new'";然后复制结果并转到phpmyadmin或工作台。运行这个查询。结果查询将显示您的正确与否。希望能有所帮助