我正在構建員工目錄應用程序,並且正在使用自我連接,因此所有員工關係都在一個表中。在自我加入中顯示層次結構
我有下屬(direct_reports)顯示,我可以顯示個人的經理。
這裏是我的模型:
has_many :direct_reports, :class_name => "Person", :foreign_key => "manager_id"
belongs_to :manager, :class_name => "Person"
這是我的觀點:
<tr><td>Manager:</td><td><strong><%= link_to "Manager", @person.manager %></strong></td></tr>
<tr><td>Direct Reports:</td><td><strong><% @person.direct_reports.each do |person| %>
<%= link_to person.lname + ", " + person.fname, person %><br>
<% end %></strong></td></tr>
不過,我還沒有發現任何的方式來顯示上述組織中的人的完整報告層次結構。是的,我正在向經理展示,但我需要向CEO展示他們的經理和經理等。
我假設每個人只有一個經理(在鏈上)。
任何援助不勝感激。
不正確,PostgreSQL已經理解了[遞歸查詢](http://www.postgresql.org/docs/current/static/queries-with .html)很長一段時間。 –
@ muistooshort:非常好 - 你知道是否有任何第三方插件使用ActiveRecord?前面提到的'血統'寶石似乎沒有。看起來像一個項目只是等待建立 - 我會看看我是否可以在這裏做點什麼... – PinnyM
找到[本文](http://blog.hashrocket.com/posts/recursive-sql-in-activerecord)完全按照你的建議來做。奇蹟它還沒有被集成到任何我能找到的東西中...... – PinnyM