Rails奇怪的关联排序

时间:2011-03-06 05:52:24

标签: ruby-on-rails sorting associations

我在habtm协会中有两个模型(圆形和用户) 我想让所有用户将属于某一轮(current_round)的用户排序到顶部。我不想丢弃其他用户,但他们都需要在结果数组中。

1 个答案:

答案 0 :(得分:0)

由于用户属于Round,您可以尝试用户LEFT JOIN Rounds,如下所示:

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

这应该拉动属于某一轮的所有用户加上所有不属于任何轮次的用户,这些用户将位于底部或顶部,具体取决于您如何订购rounds.id(ASC或DESC)。