我正在使用Rails 2.3.18构建应用程序,并且我正在尝试查找在其配置文件中具有特定属性的所有用户。这是user.profile
为单个用户找到的。用户个人资料上有专栏,例如first_name
,last_name
,birthday
等。
我正在尝试设计一个ActiveRecord查询来查找所有具有某个名字的用户,例如。
类似的东西:
User.find(:where => {:first_name => "Tom"})
我应该如何格式化此查询?
答案 0 :(得分: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
可以查看所有可用选项。
显然,如果要将用户输入插入到名称条件中,请务必对其进行清理。