I would like to use addFieldToFilter (or other...) in a collection to make this filter :
(item1 = 'value' AND (item2 = 'value1' OR item = 'value2')) OR (item2 = 'value3' OR item = 'value4')
 brentwpeterson
 
 6,1348 gold badges45 silver badges81 bronze badges
 
 1 Answer 1
Whenever dealing with complex filters, I prefer to work with the underlying Zend_Db_Select object. For example:
$collection
 ->getSelect()
 ->where(
 new Zend_Db_Expr("(item1 = '?' AND (item2 = '?' OR item = '?')) OR (item2 = '?' OR item = '?')"), 
 'value1', 
 'value2', 
 'value3', 
 'value4'
 );
 
 answered Dec 2, 2014 at 14:54
 
 
 
 Rick Buczynski 
 
 2,69916 silver badges22 bronze badges
 
 default