好的,所以在我的rails项目中,我有以下模型:pools
,memberships
和week_scores
游泳池has_many :memberships
成员资格has_many :week_scores
WeekScore还具有一个属性week:integer
,该属性指示星期几。这样我就知道那个桌子是第1周还是第6周,等等。
WeekScore具有属性score:integer
,我在其中保存每个用户的积分。这使我认为我应该将模型名称更改为week_points ...
无论如何,我想向我显示一个表,其中包含所有池成员的列表,这些成员按他们在特定week_score
中获得的分数排序。
只是澄清
我现在获得全角蛋白周分数的方法是
member_score = member.week_scores.find_by(week:5).score
// member是池的成员
例如
让我们说第5周
我要显示池中每个成员的第5周得分,按得分的降序排序,如下所示
实现此目标需要查询什么?香港专业教育学院尝试加入,但它无法正常工作,但我是新来的,所以我很确定这很容易做到,我只是太新了而已。
也..我想阅读有关Rails的数据库和sql的更多信息,所以我对此更加熟悉。有人愿意推荐一本书吗?
答案 0 :(得分:0)
week5 = Pool.first.memberships.includes(:week_scores)
.where(:week_scores => {week: 5}).order('week_scores.score DESC')
week5.each do |membership|
puts "#{membership.member_name}: #{membership.week_scores.first.score}"
end