Не работает запрос 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