我正在尝试从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或工作台。运行这个查询。结果查询将显示您的正确与否。希望能有所帮助