2011-03-06 4 views
0

J'ai deux modèles dans une association habtm (ronde et utilisateur) Je veux obtenir tous les utilisateurs et trier ceux qui appartiennent à un certain tour (current_round) vers le haut. Je ne veux pas rejeter les autres utilisateurs, ils doivent tous être dans le tableau résultant.Rails association étrange tri

Répondre

0

Depuis l'utilisateur appartient à tour, vous pouvez essayer les utilisateurs LEFT JOIN Les rounds suivants comme ceci:

 
User.all(:joins => "LEFT JOIN rounds ON user.round_id = rounds.id", 
     :order => "rounds.id DESC") 

Cela devrait tirer tous les utilisateurs qui appartiennent à un certain tour de plus tous les utilisateurs qui ne font pas partie de toute ronde à tout ce qui sera en bas ou en haut selon la façon dont vous commandez rounds.id (ASC ou DESC).