我有一個類Team
有很多Matchups
使用包括在軌
class Team < ActiveRecord::Base
has_many(
:home_matchups,
class_name: "Matchup",
foreign_key: :team_1_id,
primary_key: :id
)
has_many(
:away_matchups,
class_name: "Matchup",
foreign_key: :team_2_id,
primary_key: :id
)
def matchups
Matchup.where("team_1_id = ? OR team_2_id = ?", id, id)
end
end
和
class Matchup < ActiveRecord::Base
validates :team_1_id, :team_2_id, :week, presence: true
belongs_to(
:team_1,
class_name: "Team",
foreign_key: :team_1_id,
primary_key: :id
)
belongs_to(
:team_2,
class_name: "Team",
foreign_key: :team_2_id,
primary_key: :id
)
has_one :league, through: :team_1, source: :league
end
這一切工作正常的自定義關聯,直到我想用includes
這樣的:Team.includes(:matchups)
因爲雖然比賽返回一個活躍的記錄關係,我不能使用它。之後會出現這個問題,因爲我需要爲很多團隊提供這種信息,而且我不想爲每個團隊進行查詢。任何人都可以告訴我如何使用包含獲得組合?
你並不需要都在這裏:'Team.includes(:對決)' –
謝謝,我已經編輯它來反映這一點。 –
爲什麼不使用'Team.includes(:home_matchups,:away_matchups)'然後合併到一起? –