Magento addFieldToFilter: Dois campos, correspondem como OR, não AND

Eu estive preso nisso nas últimas horas. Eu consegui trabalhar cortando algumas linhas/lib/Varien/Data/Collection/Db.php, mas prefiro usar a solução adequada e deixar meu núcleo intocado.

Tudo o que preciso fazer é obter uma coleção e filtrá-la por dois ou mais campos. Dizer,customer_firstname eremote_ip. Aqui está o meu (disfuncional sem hackearDb.php) código:

$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)));

Com um estoqueDb.php, Tentei o seguinte: (amostra retirada dehttp://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'),           
));

Mas isso me dá este erro:

Warning: Illegal offset type in isset or empty  in magento/lib/Varien/Data/Collection/Db.php on line 369

Se eu quebrar isso com um try / catch, ele se moverá para _getConditionSql () e fornecerá este erro:

Warning: Invalid argument supplied for foreach()  in magento/lib/Varien/Data/Collection/Db.php on line 412

Alguém tem algum código funcional e funcional para fazer isso? Estou executando o Magento 1.9 (Enterprise). Obrigado!

questionAnswers(10)

yourAnswerToTheQuestion