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

时间:2019-01-14 03:49:51

标签: zend-framework2

我尝试在上筑巢:

$where = new Where();

我也尝试制作多个:

$where->like

有人可以给我提供一个例子,说明如何使多个人喜欢吗? 我想搜索两个具有相同值%$value%

的不同字段

感谢您和最诚挚的问候

3 个答案:

答案 0 :(得分:2)

Where对象中,您可以NEST(用括号括起来)您的选项并指定一个运算符(在这种情况下为OR):

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

这将生成:

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

答案 1 :(得分:0)

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

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

我不包括foreach,但是您了解了这个想法,将查询添加到何处,并使用OR,因为将为多个条目生成谓词。

答案 2 :(得分:0)

以更多功能扩展上述解决方案:

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