1

私は Rails 初心者なので、ご容赦ください。私は基本的なリーグシステムを持っています。リーグ -> シーズン -> ディビジョン -> チーム。ディビジョンとチームを何シーズンでも所属させたいです。私のモデルは次のとおりです...

class Season < ActiveRecord::Base
  belongs_to :league
  has_many :season_division_teams
  has_many :divisions, :through => :season_division_teams
end

class Division < ActiveRecord::Base
  belongs_to :league
  has_many :seasons, :through => :season_division_teams
  has_many :season_division_teams
  has_many :teams, :through => :season_division_teams
end

class Team < ActiveRecord::Base
  belongs_to :league
  has_many :season_division_teams
  has_many :seasons, :through => :season_division_teams
  has_many :divisions, :through => :season_division_teams
end

class SeasonDivisionTeam < ActiveRecord::Base
  belongs_to :season
  belongs_to :division
  belongs_to :team
end

私が最終的にできるようにしたいのは、私がシーズン「1」にいると仮定して、どのディビジョンを持っているか、そしてそれらのディビジョンが与えられた場合、どのチームがそれらのディビジョンの一部であるか (特定のシーズン)。

Season.Find(1).divisions.all do |division|
    # Do something with the teams that make of the division (for that season)
    # division.teams.count
end

Railsでこれを行う方法が頭に浮かびません。SQLでは非常に簡単に思えます。

助けてくれてありがとう。

編集:

明確にするために、特定のシーズンのチームを(部門とともに)取得しようとしています。私のモデルでは、特定のシーズンのディビジョンを取得できることがわかっています。それらの部門とシーズンのチームが必要なだけです。

再度、感謝します。

4

1 に答える 1