2017-01-28 9 views
0

Предполагая, что у меня есть SQL-запрос:Использование ПРАВДА оператор SQL в Учении

SELECT phone_id, name 
FROM calls c WHERE (c.user_id = 2241 
AND c.phone_id IN ("Google Pixel","Samsung") 

AND (c.name IN ("Alex","John")) OR c.name IS NULL) IS TRUE) 

который работает отлично: IS TRUE оператор оценивает (c.name IN ("Alex","John")) OR c.name IS NULL) выражение в один.

Но проблема в том, что Doctrine не поддерживает оператор IS TRUE, и такие запросы приводят к ошибкам.

Как я могу достичь той же функциональность с помощью доктрины, но очевидно избежать IS TRUE заявления?

ответ

1

Это слишком долго для комментария.

И какова цель is true?

Почему бы просто не написать запрос как это?

SELECT phone_id, name 
FROM calls c 
WHERE c.user_id = 2241 AND 
     c.phone_id IN ('Google Pixel', 'Samsung') AND 
     (c.name IN ('Alex', 'John') OR c.name IS NULL) 
+1

Я согласен, истина - окончательное испытание в любом месте предложения. –