繁体   English   中英

过滤Magento收藏

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM