Добавить выбор на основе условного к доктрине построителя запросов

Как вы можете добавить выбор на основе условия в построитель запросов доктрины?

Я хотел бы повторить SQL похож на это:

select p.id, p.id = 3 as first_result
from problem p
order by first_result desc, p.id

1 ответ

Согласно документации вы можете использовать выражение и пометить этот столбец как HIDDEN (не включать в результаты), но можно использовать в запросе, как в вашем случае, чтобы упорядочить результаты

DQL будет выглядеть

SELECT p, p.id = 3 AS HIDDEN first_result
FROM YourProblemEntity p 
ORDER BY first_result DESC, p.id

Или вы можете представить CASE выражение

SELECT p, 
CASE WHEN p.id = 3 THEN 1 ELSE 0 END AS HIDDEN first_result
FROM YourProblemEntity p 
ORDER BY first_result DESC, p.id

Смотрите DQL SELECT Примеры

Другие вопросы по тегам