我想出了一个数据库模式,但我觉得它比我的旧SQL习惯更受Rails ORM的影响。这是我开发的模式。 使模型关联更容易查询
目前,我已经为上图中的所有表格创建了模型,但是在研究关联之后,我相信我可以使用Rails关联来生成一些多对多关系表。
在我的PlayerStats#index中,我发现自己在做的事情,如我知道的<%= Year.find(TeamYear.find(TeamUser.find(player_stat.team_user_id).team_year_id).year_id).year %>
不好。所以,我正在寻找关于如何基于上面的规范化模式来建立模型关联的指导。这是我的猜测:
User.rb 的has_many:team_users
Team.rb belongs_to的:team_year
Year.rb belongs_to的:team_year
Team_Year.rb 的has_many:团队 has_many:年
Team_User.rb belongs_to:用户 belongs_to的:team_year HAS_ONE:角色
Game.rb 的has_many:team_years
Player_stats.rb belongs_to的:team_user belongs_to的:游戏
我不知道如果我在正确的跟踪与否。此外,我不知道如何利用声明这些关联。我一定希望让Team.name(给出Player_Stat.game_id)比Team.find(TeamYear.find(Game.find(player_stat.game_id).away_team_year_id).team_id).name
容易得多。
我是否努力拥有规范化的数据库?我应该以不同的方式思考这个问题吗?我感谢任何帮助或指导。
您是否阅读本指南? http://guides.rubyonrails.org/association_basics.html – MikDiet 2012-04-22 05:34:03