저는 데이터베이스 스키마를 만들었지 만, 레일스 ORM보다 이전 SQL 습관에 더 많은 영향을 받았다고 생각합니다. 여기에 제가 개발 한 스키마가 있습니다. 모델 연관성을 통해 쿼리를 쉽게 만들기
현재 위 이미지의 모든 테이블에 대한 모델을 만들었지 만 연관성을 연구 한 후에 레일스 연결을 사용하여 다 대다 관계형 테이블을 생성 할 수 있다고 생각합니다.
내 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
보다 훨씬 쉽게 만들고 싶습니다.
정규화 된 DB를 확보하는 데 너무 열심히 노력하고 있습니까? 이 문제에 대해 다르게 생각해야합니까? 도움이나 안내에 감사드립니다.
이 안내서를 읽었습니까? http://guides.rubyonrails.org/association_basics.html – MikDiet