Как создать конструктор запросов с помощью SELECT max_date и использовать этот max_date в where 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 в результатах. Является ли это возможным? Я попытался найти ответ в других сообщениях, но я потерпел неудачу.
Вы еще не можете использовать MAX (s.date). Ваш выбор:
Вы хотите получить только одного пользователя? то вы можете order by s.date desc
и limit 1
запустить два запроса, сначала выбрать max_date, второй необходимый пользователь
left join с временной таблицей, сгенерированной из Score, где только одна строка с max_date