如何使用 Zend Framework 2 创建多个 where->like()?

How to make multiple where->like() with Zend Framework 2?

我试着在 :

上筑巢
$where = new Where();

我也试过制作多个 :

$where->like

有人可以给我一个例子,说明我如何制作多个赞吗? 我想搜索两个具有相同值的不同字段 %$value%

谢谢你和最好的问候

通过在最终 select 上使用 OR 找到解决方案。以下示例显示了它:

$where = array();
$where[] = $rel->field1 . " LIKE '%". $value ."%' ";
$select->where($where, 'OR');

我没有包括 foreach,但你明白了,在 where 中添加你的查询并使用 OR 作为谓词将为多个条目生成。

Where 对象中,您可以 NEST(括在括号中)您的选项并指定一个运算符(在本例中为 OR):

$where = new Where();
$where->NEST
    ->like('field1', '%value%')
    ->OR
    ->like('field2', '%value%')
    ->UNNEST;

这将生成:

... WHERE (`field1` LIKE '%value%' OR `field2` LIKE '%value%')

以更实用的方式扩展上述解决方案:

$where = new Where();
$where->nest()
    ->like('field1', '%value%')
    ->OR
    ->like('field2', '%value%')
    ->unnest();