have such zend query:
$select = $this->_table
->select()
->where('title LIKE ?', '%'.$searchWord.'%')
->where('description LIKE ?', '%'.$searchWord.'%')
->where('verified=1 AND activated=1');
In other words it looks like:
SELECT `some_table`.* FROM `some_table` WHERE (title LIKE '%nice house%') AND (description LIKE '%nice house%') AND (verified=1 AND activated=1)
If I have couple AND sentences, zend connect it through AND operator. How can I connect it with OR operator ? Cause I need:
...(title LIKE '%nice house%') OR (description LIKE '%nice house%')...
Your help would be appreciated.
$this->_table->select()->orWhere($condition);
To build more complexe queries (i.g. sub-conditions) you might have to use $this->table->getAdapter()->quoteInto()
and write your SELECT manually.
The others answers here do not work (anymore?), the current solution is to call nest() and unnest() in the where clause:
$select->where
->nest()
->equalTo('column1', 1)
->or
->equalTo('column2', 2)
->unnest()
->and
->equalTo('column3', 3);
I have implemented your zend query
$select = $this->_table
->select()
->where('title LIKE ?', '%'.$searchWord.'%')
->ORwhere('description LIKE ?', '%'.$searchWord.'%')
->where('verified=1 AND activated=1');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With