我想根据不同属性的几个标准选择产品.
我知道如何使用 $collection->addAttributeToFilter('someattribute', array('like' => '%'));
但是我想对OR条件使用几个属性.
喜欢:
$collection->addAttributeToFilter('someattribute', array('like' => 'value'));`
Run Code Online (Sandbox Code Playgroud)
要么
$collection->addAttributeToFilter('otherattribute', array('like' => 'value'));`
Run Code Online (Sandbox Code Playgroud)
获得"某些属性" 或 "分配"设置为"价值"的产品
可能吗?
如何通过attribute1 = value1 AND(attribute2 = value2 OR attribute3 = value2)过滤Magento销售订单集合?我可以写WHERE {COND1} AND {COND2}或{COND3},但我不能分组AND({COND2} OR {COND3})
首先,这不是一个重复的AFAIK,我已经看到了它,它在版本1.3.2中运行良好,但在Enterprise Edition 1.11.1中没有.这就是我要做的...获取在定义的日期范围内创建或更新的Magento订单,其状态为"处理".以下是在以前版本中有效的代码,但不在我的代码中:
$orderIds = Mage::getModel('sales/order')->getCollection()
->addFieldToFilter('status', 'processing')
->addFieldToFilter(array(
array(
'attribute' => 'created_at',
'from' => $fromDate->toString('yyyy-MM-dd HH:mm:ss'),
'to' => $toDate->toString('yyyy-MM-dd HH:mm:ss'),
),
array(
'attribute' => 'updated_at',
'from' => $fromDate->toString('yyyy-MM-dd HH:mm:ss'),
'to' => $toDate->toString('yyyy-MM-dd HH:mm:ss'),
),
));
Run Code Online (Sandbox Code Playgroud)
这是它生成的SQL,以及产生的错误:
SELECT `main_table`.* FROM `sales_flat_order` AS `main_table`
WHERE (status = 'processing') AND (Array = '')
SQLSTATE[42S22]: Column not found: 1054 Unknown …Run Code Online (Sandbox Code Playgroud)