如何在Zend Framework的数据库查询中创建嵌套的AND和OR?

时间:2011-04-07 15:33:25

标签: php mysql zend-framework

我想知道如何得到这样的东西:

SELECT * from `table` WHERE id='1' AND (title='hurr' OR title='durr')

在Zend框架中?据我所知,只有where()个函数,它们一起构成AND关系,orWhere()添加OR规则,但如果一起使用,则选择如下:

$select=$this->select()->where("id='1'")->where("title='hurr'")->orWhere("title='durr'");

这将创建一个像这样的查询

SELECT * from `table` WHERE id='1' AND title='hurr' OR title='durr'

这是完全不同的东西。

2 个答案:

答案 0 :(得分:4)

$select = $this->select()->where('id = 1')->where("title='durr' OR title='hurr'");

$select = $this->select()->where('id = 1')->where('title IN (?)', array('durr', 'hurr'));

答案 1 :(得分:1)

您可以执行类似

的操作
$select=$this->select()->where("id='1'")->where("title='hurr' OR title='durr'");

您可以查看manual