我想查找一种方法来查询我的数据库,以便为所有匹配的记录返回一个关联的记录。例如:active_record返回所有匹配的记录对象的单个关联记录
如果一个用户有很多房子(房子属于一个用户),并且我需要获得所有的用户,并且每个用户都有一个关联的房子(比如第一个房子)。我如何去做这件事?
要阐述更多关于这个:
user A has houses 1, 2, 3
user B has houses 4, 5, 6
user C has houses 7, 8, 9
- 让所有的用户,我可以这样做:
user.all
- 得到一个用户的所有房子,我可以这样做:
<user>.houses
- 以获得用户与他们的房子,我可以加入查询:
User.joins(:houses).where(<condition>)
但是,如果我想获得的所有用户,并与各房子,格式为:
user | house
-----------------
A | 1
B | 4
C | 7
我怎么能去呢?
该数据库是postgres。
更新:
我真正的模型如下:
class Product < ActiveRecord::Base
...
has_many :product_pictures, :dependent => :destroy
accepts_nested_attributes_for :product_pictures, allow_destroy: true
end
您使用了哪个数据库? –
@JaehyunShin psql,带rails的postgress数据库 –