orWhere com Doctrine
Boa tarde,
Estou com o seguinte problema. Uso o createQueryBuilder para instanciar meu banco de dados, e uma sequencia de where's.
O problema é: Quando eu uso um or sequenciado, ele adiciona parenteses, o que faz a query ficar errada, quando executo diretamente no banco:
Ex:
select * fromTABLE t where ((t.item1 = 'tchau' OR t.item= 'oi') and t.item3 = 'alface')
$query = $entVwSelagem->createQueryBuilder('v');
$query->where('v.tipo = \'SE\'');
$query->orWhere('v.tipo = \'RM\'');
$query->andWhere($query->expr()->notIn('v.fkPedido', $pedidos));
$query->orWhere($query->expr()->notIn('v.fkPedido',$pedidosRec));
O resultado dessa query é:
SELECT * FROM VwSelagem v WHERE ((v.tipo = 'SE' OR v.tipo = 'RM') AND v.fkPedido NOT IN('20130000020')) OR v.fkPedido NOT IN('20130000020', '20130000023', '20130000024', '20130000025')
Se alguém souber de algo, agradeço. (Já li na documentação do Doctrine, e ele não prevê nada do tipo).
Discussão (1)
Carregando comentários...