Rails 通过多个模型获取数据?
Rails getting data through multiple models?
我正在与 rails 一起工作,但我遇到了这样的困境:
我的关联设置是这样的:
团队 -> 玩家 -> 比赛 -> 游戏 -> PlayerStats
例如,球队有球员,球员有比赛,比赛是五局三胜制,比赛有比赛,比赛中的每个球员都有统计数据。
但是,如果我想获得球员的总进球数,我必须循环遍历他们的所有比赛,并且对于每场比赛,查看每场比赛并从每场比赛中提取他们的统计数据。
如果我在加载页面时对多个统计信息执行此操作会不会太费力?是否有更好的方法来解决这个问题?
您的架构应如下所示
Team(id, name)
Player(id, name)
Match(id, name)
Game(id, name, match_id)
PlayerStat(id, match_id, team_id, player_id, game_id, goal_count)
对于球员总进球查询将为
player.player_stats.sum(:goal_count)
与
相同
PlayerStat.where(player_id: 2).sum(:goal_count)
我正在与 rails 一起工作,但我遇到了这样的困境:
我的关联设置是这样的:
团队 -> 玩家 -> 比赛 -> 游戏 -> PlayerStats
例如,球队有球员,球员有比赛,比赛是五局三胜制,比赛有比赛,比赛中的每个球员都有统计数据。
但是,如果我想获得球员的总进球数,我必须循环遍历他们的所有比赛,并且对于每场比赛,查看每场比赛并从每场比赛中提取他们的统计数据。
如果我在加载页面时对多个统计信息执行此操作会不会太费力?是否有更好的方法来解决这个问题?
您的架构应如下所示
Team(id, name)
Player(id, name)
Match(id, name)
Game(id, name, match_id)
PlayerStat(id, match_id, team_id, player_id, game_id, goal_count)
对于球员总进球查询将为
player.player_stats.sum(:goal_count)
与
相同PlayerStat.where(player_id: 2).sum(:goal_count)