2013-08-26 63 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看到所有可用的选项。

很显然,如果您将用户输入内插到名称条件中,请务必对其进行清理。