2016-08-10 4 views
0


У меня есть Zend \ Db \ Sql \ Где выглядеть следующим образом:ZF2 объединить два или больше, где сказуемое

$where->nest()->like()->and->like()->unnest()->or->equalTo(); 

А потом я хочу добавить еще один предикат выглядеть следующим образом:

$where->and->greaterThan()... 

Но проблема в том, что «и» в приведенной выше строке не применяется в целом, где cluase. результат:

(like and like) OR equalTo AND greaterThan 

Но что я хочу это:

((like and like) OR equal) AND greaterThan 

Как я должен это делать?

Заранее спасибо.

ответ

1

Вам нужно удвоить гнездо. В вашем последнем примере у вас есть две открывающиеся круглые скобки. Это двойное гнездо;)

$where->->nest()->nest()->like()->and->like()->unnest()->or->equalTo(); 

И

$where->unnest()->and->greaterThan()... 

Вы должны быть хорошо с этим.

Смежные вопросы