Внедрение Doctrine DQL в ORDER BY

Интересно, есть ли способ сделать инъекцию DQL после предложения ORDER BY? Я знаю, что это возможно в SQL, но я копаюсь в документации и исходном коде Doctrine и не могу найти подходящий вариант использования DQL.

Например, допустим, у нас есть следующий запрос

SELECT partial company.{id} FROM App\Entity\Company company ORDER BY company.id [DQL_INJECTION]

Мы можем сделать что-то вроде этого:

SELECT partial company.{id} FROM App\Entity\Company company ORDER BY company.id ASC, SUM(1) DESC

и запрос будет действительным и выполненным. Но есть ли способ в DQL, как мы можем расширить инъекцию, чтобы ввести полный запрос DQL?

UNION следует за ORDER BY. Я не использую DQL, он поддерживает UNION?
Bill Karwin 26.02.2019 17:06

Нет, объединения не поддерживаются в DQL.

Tom 26.02.2019 17:42

Не могли бы вы опубликовать пример того, как это будет выглядеть с полным запросом DQL? Интуитивно я бы предложил использовать QueryBuilder, если вы хотите динамически изменять запросы, но я не уверен, что получу то, что вы хотите сделать в первую очередь.

dbrumann 26.02.2019 17:57

Я ищу (например) что-то вроде этого, но это должно работать: ВЫБЕРИТЕ частичную компанию. {id} FROM App\Entity\Company company ORDER BY company.id ASC, (SELECT COUNT(1) FROM App\Entity\Company) DESC

Tom 26.02.2019 18:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
287
0

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