Magento addFieldToFilter:如何使用forigen键从表中获取getCollection()

时间:2015-11-30 07:54:56

标签: magento filter

我是magento的新手,试图解决它,但没有成功。 我的问题是,如果是“store_id”,我必须在基础上应用“addFieldToFilter”过滤器,我必须从表上的集合中删除特定商店/商店的所有订单

sales_flat_order

但是store_id在表

sales_flat_order_address

“sales_flat_order_address”表的主键“entity_id”在“sales_flat_order_address”中用作外键作为“parent_id”,我写了一些查询这样的东西,

  $ordercollection = Mage::getModel('sales/order')->getCollection();
    $ordercollection->getSelect()->joinLeft(array('sfoa' => 'sales_flat_order_address'),'main_table.entity_id = sfoa.store_id',array('store_id'=>'sfoa.store_id'));
    $ordercollection->addFieldToFilter('store_id',array('neq'=>'555'));

我不明白,而且它不起作用

2 个答案:

答案 0 :(得分:1)

您可以使用此按商店ID

过滤订单
    $ordercollection = Mage::getModel('sales/order')->getCollection();
    $ordercollection->addFieldToFilter('store_id',array('neq'=>'4'));
    $ordercollection->getSelect()->joinLeft('sales_flat_order_address', "main_table.entity_id = sales_flat_order_address.parent_id",array('country_id'));

答案 1 :(得分:0)