ActiveRecord查找与包括
问题描述:
比方说,该人has_many
地址,并与此查询我可以通过循环,并使用该地区的人民。ActiveRecord查找与包括
@people = Person.find(:all, :include => :addresses)
但是,我想只包括user_id = 1的地址,例如。
如何构建查询来做到这一点?
P.S.新来RoR
答
@people = Person.find(:all, :include => :addresses, :conditions => ['user_id=?',params[:user_id]])
请注意,当你包括你只能有每列的一列或导轨会给你一个关于模糊查找条件的错误。
有了这个条件,我得到的查询使得在Person表中搜索user_id,而不是在Addresses表中:| 我需要通过条件来过滤包含地址表。 – dormitkon 2011-03-05 21:55:43
尝试':连接=>:地址',而不是':includes' – s84 2011-03-06 00:24:33
从3.2版起,它将是:@people = Person.all(:include =>:addresses,:conditions => ['user_id =?' ,params [:user_id]]) – jesal 2013-04-16 22:37:04