私は 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では非常に簡単に思えます。
助けてくれてありがとう。
編集:
明確にするために、特定のシーズンのチームを(部門とともに)取得しようとしています。私のモデルでは、特定のシーズンのディビジョンを取得できることがわかっています。それらの部門とシーズンのチームが必要なだけです。
再度、感謝します。