[英]Filter a Magento collection
我想用分组子句过滤一个集合。 在SQL中,这看起来像:
SELECT * FROM `my_table` WHERE col1='x' AND (col2='y' OR (col2='z' and col4='P' and col5='q') OR (col2='x' and col4='r'))
如何将其“翻译”为使用-> addFieldToFilter(...)
过滤集合?
谢谢!
如果您的查询类似于
SELECT * FROM `my_table` WHERE col1='x' AND (col2='y' OR col2='z' OR col4='P')
您可以使用以下命令:
$collection->addFieldToFilter('col1', 'x')->addAttributeToFilter(
array(
array('attribute'=>'col2', 'eq'=>'y'),
array('attribute'=>'col2', 'eq'=>'z'),
array('attribute' => 'col4', 'eq' => 'P')
)
)
但是对于这种复杂的查询,您应该使用Zend_Db_Select
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.