我嘗試使用軌道構建足球經理遊戲,並且我與軌道關聯卡住了。在軌道中使用多個連接找到
team table
...
history table
team_id
saison_id
saison table
league_id
league table
...
我想找一個聯盟的所有球隊。
class History < ActiveRecord::Base
belongs_to :saison
belongs_to :team
end
class Saison < ActiveRecord::Base
has_many :histories
has_many :teams, :through => :histories
belongs_to :league
end
class League < ActiveRecord::Base
has_many :saisons
end
class Team < ActiveRecord::Bases
has_many :histories
has_many :saisons, :through => :histories
end
我要像做(在聯賽控制器的顯示方法):
@team = Team.find(:all, :include => [:saisons => :histories, :leagues => :saisons],
:conditions => ["leagues.id = ?", params[:id]])
,但它不工作。
SQL查詢:
SELECT Team.*
FROM Team, Saison, History, League
WHERE History.Team_ID = Team.ID AND
History.Saison_ID = Saison.ID AND
Saison.League_ID = League.ID
該查詢返回所有球隊一個賽鬆...但我不實現,使之成爲聯賽
@division = Team.find(:all, :include => [:saisons => :histories],
:conditions =>["saisons.id =?",params[:id]])
我的數據庫是用法語提出的,我用英文翻譯了一些字段,但似乎我犯了翻譯錯誤。我編輯關於你所說的話的線程。謝謝 – psic 2012-01-31 21:16:24