首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多模型关联

多模型关联
EN

Stack Overflow用户
提问于 2015-05-05 14:03:13
回答 1查看 158关注 0票数 0

我正在构建一个类似体育联盟事件的web应用程序。有3个模型,它们都是相互关联的。玩家(用户)、团队和游戏。球队有很多球员,也有很多比赛。玩家有许多游戏,并且可以有多个团队。游戏属于团队和玩家。

代码语言:javascript
复制
Teams: have_many :players
Teams: have_many :games

Players: have_many :teams
Players: have_many :games

Games: belong_to :teams
Games: belong_to :players

有没有一种方法可以使用"has_many Through表“创建”三重关联“?我倾向于"has_many through“,然后在"through”表中跟踪每个玩家的响应状态。我还希望两支球队都在“直通”表中,这样我就可以做一些类似(player_id,team_id,game_id)的事情,并且只为两支球队创建一场比赛。

或者我上面所说的都是有效的?还是我完全疯了,走错了路?

EN

回答 1

Stack Overflow用户

发布于 2015-05-05 14:24:22

您可以尝试这样做:

代码语言:javascript
复制
   class Game < ActiveRecord::Base
      belongs_to :gameable, polymorphic: true
    end

    class Team < ActiveRecord::Base
      has_many :games, as: :gameable
      has_many :players, through: :matches
    end

    class Player < ActiveRecord::Base
      has_many :games, as: :gameable
      has_many :teams, through: :matches
    end

    class Match < ActiveRecord::Base
      belongs_to :players
      belongs_to :teams
    end

希望这能对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30045333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档