簡體   English   中英

Rails 3 ActiveRecord從單個表中選擇父子遞歸

[英]Rails 3 ActiveRecord Selecting Parent Child recursion from Single Table

我有一個名為類別的表,其中表的結構和數據是

id | parent_id | name
------------------------
1  | 0         | Computers    // parent
2  | 0         | TV           // parent
4  | 1         | Motherboards // child - to - id(1)
5  | 4         | Mercury
6  | 5         | Mecrury XXX
7  | 6         | Mecrury YYY

(其中parent_id是另一行的ID

展示如何使用Rails3 Activerecord查詢界面獲取父/子結果。 (或任何其他解決方案)。

如果我搜索“計算機”,我該如何在該父類別下獲得所有子項->超級子項。

Example Result will - Computers -> Motherboards -> Mercury XXX -> Mercury YYY

謝謝

您應該看一下令人敬畏的嵌套鑲嵌寶石。

它允許您調用類似這樣的方法來獲取所有后代節點:

Node.root.self_and_descendants

祖先看起來也不錯,盡管我自己還沒有使用過。

這兩個gem都需要遷移數據,但這是更好的方法,因為僅使用parent_id來導航子節點並不是最有效的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM