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



我尝试在:

$where = new Where();

我还尝试制作多个:

$where->like

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

谢谢你和最诚挚的问候

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

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

这将生成:

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

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

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

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

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

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

最新更新