0
我能够使用addFieldToFilter和addAttributeToFilter在Magento上运行AND和OR布尔条件。在Magento上加入条件OR条件
不过,我很好奇实施更复杂的布尔条件象下面这样:
WHERE (`sku > 5` AND `price` > '10') OR (`name` = 'books')
为AND条件,我有
$collections = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')
->addFieldToFilter('sku', array('gt' => 5)
->addFieldToFilter('price', array('gt' => 10);
翻译为WHERE条件的第一个括号:
(`sku` > 5 AND `price` > 10)
我不知道如何从这里开始表达OR条件
`name` = 'books'
任何帮助将不胜感激。由于
感谢安德鲁,但是这一次是不同的。我这次用括号强调我的观点:'在哪里(SKU> 5 AND价格> 10)或(名称=书籍)'。但是,根据你和他人的答案,我可以做的是哪里(sku> 5)和(价格> 10或名称='书籍'),这是一个不同的答案。 – Edville
我看到了这个(和类似的)答案,但它并没有回答这个问题。 AND表达式位于括号内,OR位于另一个字段的OR位置。我发现的其他答案只提到了对同一字段的ORing不同的值。 –
Varien_Db_Select正是我所需要的。再次感谢安德鲁。 – Edville