在Magento的复杂的布尔条件(complex boolean conditions on Ma

2019-09-22 13:40发布

我找不到在Magento的教程解决这个问题。 我怎样才能实现定制机型OR运算符有两个属性涉及到什么时候? 在官方教程中的例子只展示了使用或布尔的一个领域,SKU。

$filter_a = array('like'=>'a%');
$filter_b = array('like'=>'b%');

Mage::getModel('catalog/product')
->getCollection()
->addFieldToFilter('sku', array($filter_a, $filter_b))
->getSelect();

这意味着,以

WHERE e.sku like 'a%' or e.sku like 'b%' 

但是,如果我需要运行诸如条件是什么:

 WHERE   (e.sku like 'a%' or e.sku like 'b%')  or  (table_price.value >= '10' ) 

我怎样才能做到这一点上的Magento? 谢谢

Answer 1:

你有你的语法incorrec,试试这个:

Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter(
    array(
        array('attribute'=>'firstname', 'like'=>'test%'),
        array('attribute'=>'lastname', 'like'=>'test%'),
    )
)

你可以通过“SKU”或什么都你想更换属性名称。 每个数组项将被OR操作。



文章来源: complex boolean conditions on Magento