簡體   English   中英

Zend框架查詢where子句

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM