Skip to content
Advertisement

DQL many to many and count

I’m using Symfony 2 with Doctrine, and I’ve got two entities joined in a many to many association. Let’s say I have two entities: User and Group, and the related tables on db are users, groups and users_groups.

I’d like to get the top 10 most populated groups in DQL, but I don’t know the syntax to perform queries on the join table (users_groups). I already looked on the Doctrine manual but I didn’t found the solution, I guess I still have a lot to learn about DQL.

In plain sql that would be:

JavaScript

Can you please help me to translate this to DQL?

Update (classes):

JavaScript

Advertisement

Answer

It’s not easy without seeing the actual classes, but by guessing you have a many-to-many bidirectional relationship:

JavaScript

UPDATE:

You don’t have to use a bidirectional relationship, you can query the other way around:

JavaScript
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement