Tag: magento 1.9

Magento addFieldToFilter:两个字段,匹配OR,而不是AND

在过去的几个小时里,我一直被困在这里。 我通过在/lib/Varien/Data/Collection/Db.php中/lib/Varien/Data/Collection/Db.php了几行/lib/Varien/Data/Collection/Db.php ,但是我宁愿使用合适的解决scheme,而不使用我的核心。 我需要做的就是获得一个集合,并通过两个或多个字段进行过滤。 说, customer_firstname和remote_ip 。 这是我的( Db.php没有黑客)代码: $collection = Mage::getModel('sales/order')->getCollection()-> addAttributeToSelect("*")-> addFieldToFilter(array(array('remote_ip', array('eq'=>'127.0.0.1')), array('customer_firstname', array('eq'=>'gabe'))), array('eq'=>array(1,2,3))); 与股票Db.php ,我试过这个:(从http://magentoexpert.blogspot.com/2009/12/retrieve-products-with-specific.html采取样本) $collection->addFieldToFilter(array( array('name'=>'orig_price','eq'=>'Widget A'), array('name'=>'orig_price','eq'=>'Widget B'), )); 但是,这给了我这个错误: Warning: Illegal offset type in isset or empty in magento/lib/Varien/Data/Collection/Db.php on line 369 如果我用try / catch包装它,然后移动到_getConditionSql()并给出这个错误: Warning: Invalid argument supplied for foreach() in magento/lib/Varien/Data/Collection/Db.php on line 412 有没有人有这样做的工作,function代码? […]