[英]Zend framework query where clause
我有以下查詢,用於按汽車型號和類別名稱搜索表格
SELECT * FROM CARS as car
LEFT JOIN CATEGORIES as cat
ON cat.car_id = car.car_id
WHERE (car.model_no LIKE '%GT V8%') OR (cat.name LIKE '%GT V8%')
我正在使用zend Framework,因此到目前為止,我的模型中都存在這樣的查詢
$sql = $this->select()->setIntegrityCheck(false)
->from(array('car'=>$this->_name), array())
->joinLeft(array('cat'=>'categories'), 'cat.car_id=car.car_id', array())
然后在where子句中
我喜歡這樣
$sql->where('car.model_no LIKE ?', '%'.$query['search'].'%')
->where('cat.name LIKE ?', '%'.$query['search'].'%')
但是輸出像
WHERE (car.model_no LIKE '%GT V8%') AND (cat.name LIKE '%GT V8%')
我只是找不到用OR替換AND的方法。無論如何,在zend_db中有這樣做嗎?
使用或在哪里 (示例#19)
$sql->where('car.model_no LIKE ?', '%'.$query['search'].'%')->orWhere('cat.name LIKE ?', '%'.$query['search'].'%')
從文檔:
如果您需要使用OR將術語組合在一起,請使用orWhere()方法。 此方法的使用方式與where()方法相同,不同之處在於,指定的術語以OR(而不是AND)開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.