我有两个名为Rounds and Teams的模型,每轮有2个团队1和团队2以及他们各自的分数,如team_1_score和team_2_score。团队有很多轮。我知道如何使用从圆表到Teams表的类和外键来处理多个关联。令我感到困惑的是,如何处理各自的分数。例如,有没有办法让第一队得分如first_team.rounds.where('some condition')。得分。我是否可以使用此类原型获得第一个团队得分,如果使用第二个团队对象,则返回第二个团队得分。我期待着任何形式的帮助。那真的很棒。谢谢
答案 0 :(得分:0)
你有你的模特
class Round < ApplicationRecord
has_many :teams
end
class Team < ApplicationRecord
has_many :rounds
end
要获得特定比赛的特定球队得分,我会这样做:
@team = Team.find(id: params[:team_id])
score = Round.where(team_id: @team.id).team_1_score
假设您在存在params的控制器中执行此操作,否则只需找到团队并按其ID进行舍入并执行
我建议您使用has_many:through关系。这将创建一个全新的表,您可以通过轮次ID和团队ID查询记录,然后返回团队得分。