使用Zend_Db_Select在一个AND中进行多条件OR

时间:2014-10-09 13:55:34

标签: sql database zend-framework

我使用Zend_Db_Select并且我想在AND中制作多条件,但不知道它是否可能......我在很多论坛中搜索但是找不到任何回答...

我希望得到这样的查询:

SELECT
    `t`.*
FROM
    `T_table` AS `t`
WHERE
    (t.id = '123456')
AND (
    (t.param = 'yyy')
    OR (t.param = 'xxx')
    OR (....)
)

提前致谢...

2 个答案:

答案 0 :(得分:0)

在我的一个项目中,我遇到了同样的问题。这是它如何为我工作

$select = $this->_table->select()
                        ->from(array('t' => 'T_table'); 
$select->where('t.id = ?', '123456');
$select->where('t.param =' . $varY . ' OR t.param = ' . $varX);

基本上,你是在select-> where()中明确写出OR。

答案 1 :(得分:0)

如果您打算针对多值检查单个字段,请使用IN子句

$select->where('t.id = ?', '123456')
       ->where('t.param IN(?)', array('value1', 'value2', 'value3'));

希望它有所帮助。