3
我的模型Rails 3/SQL - 一個複雜的「存在?」查詢
class Team < ActiveRecord::Base
has_many :team_players
has_many :players, :through => :team_players
end
class TeamPlayer < ActiveRecord::Base
belongs_to :team
belongs_to :player
end
- 團隊可以有不同數量的玩家
- 玩家可以在許多球隊
- 檢索TEAM_ID如果它已經存在< - 我的問題
當創建一個新的團隊時,我基本上選擇了嵌套形式的多個玩家。在創建之後,我需要檢查是否已經存在具有精確球員構成的球隊。
實施例:
- 球隊1:甲(ID 1)和乙(ID 2)
- 隊2:甲(ID 1),乙(ID 2 )和ç(ID 3)
比方說,我創建了一個新的團隊A和B,那麼我需要查詢以某種方式告訴我它是否存在,通過返回team_id或其他東西或空的結果。
我打得四處類似於此的查詢,但沒有令人滿意的結果
SELECT *, count(id) as c FROM "team_players" WHERE player_id IN (1,3) GROUP BY team_id HAVING c = 2
謝謝!我沒有使用connection.select_rows,因爲我想獲取實際的team_id值。但查詢本身工作得很好。 (除了你忘了在最後一部分中定義'c') – Frexuz
@Frexuz:'有c ...'應該是'有數(player_id)...'對嗎?我正在翻譯我的廢話名字和你的真實姓名。 –
是的,這是正確的:) – Frexuz