доктрина: предложение HAVING в запросе DQL - PullRequest
2 голосов
/ 02 декабря 2011

Я работаю на простом форуме в symfony2 и имею следующий DQL-запрос для получения последних сообщений в каждом форуме:

SELECT p, f.id FROM MyBundle:Post p
JOIN p.forum f
GROUP BY p.forum
HAVING p.created_at >= MAX(p.created_at)

Без предложения HAVING он работает и получает первые сообщения, но это не то, что я хочу.

Что я здесь не так делаю? Возможно ли это даже с помощью DQL?

1 Ответ

3 голосов
/ 05 декабря 2011

Конечно, это была моя вина, а не DQL. :) Обновленный запрос немного сложнее и требует подзапроса. Если у кого-то есть лучший способ сделать это, пожалуйста, дайте мне знать.

SELECT post, f.id as forum_id FROM MyBundle:Post post
JOIN post.forum f
WHERE post.id in (
    SELECT MAX(p.id) FROM MyBundle:Post p
    GROUP BY p.forum
)

Это сообщение в блоге завершил мои увядающие sql знания.

...