小编Mat*_*ard的帖子

获取自联接对象及其子对象上的所有关联对象

我试图找到所有相关的朋友与我的人,自我加入,记录及其所有孩子.

这是我试图运行的一个例子.我有一个人物记录,让我们打电话@person,它有4个'孩子'.

这些孩子都有很多朋友.

当我查询时@person,我想要自己的所有朋友,然后是它下面的四个孩子.

有没有办法做到这一点,没有去:friends = @parent.friends + @parent.children.map {|c| c.friends }

真的很想用一个数据库查询来做.我的数据库也是postgresql.

以下是我的记录设置方式的示例.

class Person < ActiveRecord::Base

  belongs_to :parent, :class_name => "Person", :foreign_key => "parent_person_id"
  has_many :children, :class_name => "Person", :foreign_key => "parent_person_id"
  has_many :friends

end

class Friend < ActiveRecord::Base
  belongs_to :person
end
Run Code Online (Sandbox Code Playgroud)

ruby postgresql ruby-on-rails

2
推荐指数
1
解决办法
4133
查看次数

标签 统计

postgresql ×1

ruby ×1

ruby-on-rails ×1