Sql 如何在Zend Framework 2中组合where语句

Sql 如何在Zend Framework 2中组合where语句,sql,zend-framework2,Sql,Zend Framework2,这也许是个愚蠢的问题,但我就是找不到任何答案 我有一个简单的查询,比如“SELECT*fromtable WHERE(x=a和y=b)或z=c”,我就是不知道如何在ZF2中实现它 我发现了很多关于谓词和Where对象的信息,但我不知道如何将这些信息组合到由and和OR组成的查询中 如果有人能为我指出正确的方向,我将不胜感激。如果您想使用和添加它们,只需使用数组将它们传递到选择对象,例如: $select->where(array( 'type' => 'tes

这也许是个愚蠢的问题,但我就是找不到任何答案

我有一个简单的查询,比如“SELECT*fromtable WHERE(x=a和y=b)或z=c”,我就是不知道如何在ZF2中实现它

我发现了很多关于谓词和Where对象的信息,但我不知道如何将这些信息组合到由and和OR组成的查询中


如果有人能为我指出正确的方向,我将不胜感激。

如果您想使用和添加它们,只需使用数组将它们传递到选择对象,例如:

$select->where(array(
    'type'         => 'test,
    'some_field'   => '1'
));
如果需要更复杂的Where查询,则可以使用Where对象构建查询:

$where = new \Zend\Db\Sql\Where();
$where->addPredicate(
        new \Zend\Db\Sql\Predicate\Like('some_field', '%'.$value.'%')
)
->OR->->equalTo('my_field', 'bob')
->AND->equalTo('my_field', 'hello');

$select->where($where);

幸好我没有发布我测试过的东西——它看起来复杂多了:PI使用了所有分类的奇怪方法,然后当我发现更简单的方法时,又回去更改了它们,我认为文档需要做一些工作;)谢谢,这正是我想要的(而且比我想象的要简单得多!)