2013-08-26 104 views
1

我在Rails 2.3.18中構建了一個應用程序,我試圖找到所有在其配置文件上具有特定屬性的用戶。這是由user.profile個人用戶找到的。用戶配置文件有列上他們喜歡first_name,last_name,birthday通過ActiveRecord通過關聯表搜索用戶

我想要設計一個ActiveRecord查詢來查找所有的用戶誰都有一個特定的名字,例如。

喜歡的東西:

User.find(:where => {:first_name => "Tom"})

我應該如何格式化這個查詢?

回答

2

對於Rails的2.3,你想:

User.find(:all, :conditions => 'profiles.first_name = "Tom"', :joins => :profile) 

如果你想急於加載配置文件,您可以使用:include,而不是:joins像這樣:

User.find(:all, :conditions => 'profiles.first_name = "Tom"', :include => :profile) 

的Rails 2.3的輥幾乎一切進入find,所以check out the docs for find看到所有可用的選項。

很顯然,如果您將用戶輸入內插到名稱條件中,請務必對其進行清理。