使用Zend Db进行多个过滤查询

时间:2011-08-08 06:30:44

标签: mysql zend-db

我想使用PHP和Zend Db创建价格和类别过滤器。按价格或类别独立过滤时效果很好

如何使用Zend DB生成以下查询

SELECT * FROM `products`  WHERE 
    (
        (price >= '1000') AND (price <= '1500 ')
        OR 
        (price >= '1500') AND (price <= '2000 ') 
    ) 
    AND (category_id = '2') 

尝试如下,

$this->where('price > ?', '1000')->where('price < ?', '1500');
$this->orwhere('price > ?', '1500')->where('price < ?', '2000');

$this->where('category > ?', '2');

但它会生成,

SELECT * FROM `products`  WHERE 
    (price >= '1000') AND (price <= '1500 ')
OR 
    (price >= '1500') AND (price <= '2000 ') 
AND (category_id = '2')

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

$this->where("
              (price >= '1000') AND (price <= '1500 ') 
              OR (price >= '1500') AND (price <= '2000 ')"
);   
$this->where("category_id =?", 2);