2012-09-30 25 views
1

我有以下情況:我有兩個模型:UserGroup和User(具有多對多關係)。我需要結束一個明確的用戶列表。多對多不同的查詢

我有什麼:一組用戶組的ID和一組用戶的ID。

我想要什麼:基於我所擁有的一組不同的用戶列表。

Relation case http://i47.tinypic.com/261yo2o.png

插圖是有點誤導,因爲它只能說明我有用戶組ID,但我也有一些用戶的ID。

這怎麼能在Ruby on Rails中以優雅的方式完成?

謝謝。

回答

2

希望它可以幫助你

user_groups = UserGroup.includes(:users).where('query for your selected user_groups records') 
distinct_users = user_groups.collect{|ug|ug.users.collect(&:id)}.flatten.uniq 

有了這個,你可以得到不同的用戶只爲你選擇user_groups