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

Magento addFieldToFilter:如何使用forigen键从表中获取Collection(),magento,filter,Magento,Filter,我对magento不熟悉,试图解决它,但没有成功。 我的问题是,我必须在基础上应用“addFieldToFilter”过滤器,如果“store_id”,我必须从表上的集合中删除特定商店的所有订单 sales_flat_order 但存储id在表中 sales_flat_order_address “sales\u flat\u order\u address”表的主键“entity\u id”用作外键,“sales\u flat\u order\u address”用作“parent\u i

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

sales_flat_order
但存储id在表中

sales_flat_order_address
“sales\u flat\u order\u address”表的主键“entity\u id”用作外键,“sales\u flat\u order\u address”用作“parent\u 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'));

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

请尝试此扩展以删除订单。。

您可以使用此选项按门店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'));

我的错,我不需要从db中删除它们,我不想要我收藏中特定商店的订单,即,如果store_id=33,则传递给fitter所有商店_id=33的订单都不应该提交:我的错,我不需要从db中删除它们,我不想要我收藏中特定商店的订单,即,如果store_id=33,传递给fitter所有存储的订单\u id=33不应在集合中:请稍等,这是做什么的“数组('country\u id')”您能看看country\u id是要从表sales\u flat\u order\u address中选择的列名吗?如果您希望所有列都删除数组('country\u id')作为$ordercollection=Mage::getModel('sales/order'))->getCollection()$ordercollection->addFieldToFilter('store_id',array('neq'=>'4')$ordercollection->getSelect()->joinLeft('sales\u flat\u order\u address',“main\u table.entity\u id=sales\u flat\u order\u address.parent\u id和sales\u flat\u order\u address.address\u type='shipping');echo$ordercollection->getSelect()->;出口然后在数据库上启动sql查询,将存储id从4更改为存储idBro。正如我所说的,它不起作用了,您研究过了吗