Проблема с сортировкой Doctrine DQL по полю связанной сущностиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с сортировкой Doctrine DQL по полю связанной сущности

Сообщение Anonymous »


Я столкнулся с проблемой сортировки в DQL Doctrine (язык запросов Doctrine), включающей связанные сущности, и мне хотелось бы получить некоторые рекомендации.

У меня есть две сущности: «Предложение» и «OfferTrackingPublisher» с отношением «один ко многим». «OfferTrackingPublisher» регистрирует изменения, связанные с объектами «Предложение», и имеет такие поля, как «createdAt» и «status».

Моя цель — отсортировать объекты «Предложение» на основе поля «createAt» связанных записей «OfferTrackingPublisher», но только тогда, когда «статус» — «добавить» или «переопубликовать». В SQL я успешно добился этого с помощью подзапроса:

ORDER BY ( ВЫБЕРИТЕ МАКС(otp.created_at) ОТ Offer_tracking_publisher ОТП ГДЕ otp.offer_id = o0_.id И otp.status IN («добавить», «переопубликовать») ) ДЕСК Однако, когда я пытаюсь перевести это в DQL Doctrine, я сталкиваюсь с проблемами. Вот код DQL, который я попробовал:

$subquery = $this->_em->createQueryBuilder() ->select('MAX(otp.createdAt)') ->from('App\Entity\OfferTrackingPublisher', 'otp') ->where('otp.offer = o.id') ->andWhere("otp.status IN('добавить', 'переопубликовать')"); $qb->addOrderBy( '(' . $subquery->getDQL() . ')', 'DESC' ); Ошибка:

[Синтаксическая ошибка] строка 0, столбец 412: Ошибка: ожидаемый Doctrine\ORM\Query\Lexer::T_IDENTIFIER, получен '(' К сожалению, этот код DQL выдает ошибку, и я не знаю, как ее устранить. Я пробовал разные подходы, но ни один из них не работает. Любая помощь или предложения о том, как правильно этого добиться, пожалуйста?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сложная работа с пандами с сортировкой, фильтрацией, условной нумерацией и пользовательской сортировкой.
    Anonymous » » в форуме Python
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с сортировкой по полю после обновления в ElasticSearch
    Anonymous » » в форуме Php
    0 Ответы
    72 Просмотры
    Последнее сообщение Anonymous
  • Пагинатор с «$fetchJoinCollection = true» не будет соблюдать «ORDER BY» в доктрине DQL?
    Anonymous » » в форуме Php
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Запрос DQL: функция LOWER внезапно перестала работать [дубликат]
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Сортировка Doctrine ArrayCollection по определенному настраиваемому полю
    Anonymous » » в форуме Php
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»