2012-01-24 65 views
4

我有兩個模型ProjectUrlList。一個項目:has_many url_list和一個url_list :belongs_to項目。ActiveRecord查詢

現在我有一個項目ID爲all_projects = [1,2,5,8,16]的數組。我想從url_list中檢索所有記錄,其中project_id是來自all_projects數組的其中之一。我如何爲它編寫代碼?

回答

8

你可以傳遞一個數組作爲值的屬性where方法:

all_projects = [1, 2, 5, 8, 16] 
url_lists = UrlList.where(:project_id => all_projects) 

它會生成SQL查詢這樣的:

SELECT `url_lists`.* FROM `url_lists` WHERE `project_id`.`user_id` IN (1, 2, 5, 8, 16) 
+0

也許'S/ULR/URL /'? – Frost

+0

感謝,雖然'ulr'沒有破壞任何東西=) –

+0

我知道它沒有破壞任何東西,但我仍然認爲它是一個錯字,因爲我猜大多數人會希望變量名至少應該拼寫正確;) – Frost