Конструктор запросов Symfony - выберите максимальную дату и используйте ее в предложении where - PullRequest
0 голосов
/ 08 июня 2018

Как я могу создать построитель запросов с помощью SELECT max_date и использовать это max_date в предложении where в symfony?

$em->getRepository('AppBundle:User')->createQueryBuilder('u')
->select('u, MAX(s.date) as HIDDEN max_date')
->leftJoin('AppBundle:Score', 's', 'WITH', 's.userId = u.id')
->andWhere('s.date = :max_date')
->setParameter('max_date', 'max_date')
->getQuery()
->getResult();

Это только пример кода.Было бы хорошо, если бы я мог получить объект пользователей "u" без получения max_date в результатах.Является ли это возможным?Я пытался найти ответ в других сообщениях, но мне не удалось.

1 Ответ

0 голосов
/ 08 июня 2018

Вы не можете использовать MAX (s.date) там, где.Вы можете выбрать:

  1. Хотите выбрать только одного пользователя?затем вы можете order by s.date desc и limit 1

  2. выполнить два запроса, сначала получить max_date, затем необходимо второй пользователей

  3. объединение влево с временной таблицейгенерируется из Score, где только одна строка с max_date

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...