在我的应用程序中,可以执行以下操作找到一名员工的所有团队报告人
User.where(primary_reporter: "some unique code of a user")
其中主要报告者是需要获取其团队报告者的用户。
但是,我现在试图递归地找到所述用户的报告人及其团队成员的报告人,以形成层次结构图。在那里找不到任何东西。
我的用户模型是这样:
class User
has_many :reportees, lambda { |user| includes(:actor).where [" .
(users.status = 1)"] }, class_name: 'User', foreign_key:
'primary_reporter'
end
class Actor
has_one: user
end
我正在将postgres用于数据库
答案 0 :(得分:0)
如果您想在带有rails的postgres中实现分层实现,则可以尝试在postgres中使用ltree
扩展,在那里您也可以使用索引(用于快速查询)。此外,我们还有红宝石宝石,使用该宝石我们可以轻松地进行查询。
参考