Не работает запрос DQL

Не работает запрос dql

SELECT i, o, a 
  FROM TestBundle:OrderInvoice i 
    LEFT JOIN i.order o 
    LEFT JOIN o.address a 
    LEFT JOIN o.customer c 
  WHERE i.merchantId = :merchantId 
    AND o.status IN(9, 14, 15, 18) 
    AND (c.customerCode NOT LIKE :customerCode 
      OR c.lastname NOT LIKE :customerLastname 
      OR c.firstname NOT LIKE :customerFirstname) 
  ORDER BY i.invoiceId DESC

В частности не работает NOT LIKE. Если искать просто LIKE то все ок.

Суть проблемы в том, что нужно использовать NOT LIKE, но в случае его использования, выборка никак не меняется и выдается тоже самое как если бы я писал запрос без NOT LIKE

Подозреваю, что дело в JOIN, поскольку если я использую запрос на поля таблицы i, то это работает


Ответы (1 шт):

Автор решения: Lofectr

Вы не описали проблему, но могу предположить, что нужно так:

SELECT i, o, a 
  FROM TestBundle:OrderInvoice i 
    LEFT JOIN i.order o 
    LEFT JOIN o.address a 
    LEFT JOIN o.customer c 
  WHERE i.merchantId = :merchantId 
    AND o.status IN(9, 14, 15, 18) 
    AND (c.customerCode NOT LIKE :customerCode 
      AND c.lastname NOT LIKE :customerLastname 
      AND c.firstname NOT LIKE :customerFirstname) 
  ORDER BY i.invoiceId DESC
→ Ссылка