我有一個Rails 3.2應用程序,其中Product
是一個模型。 Product
包含屬性identifier
(永遠不會爲null)和parent_identifier
(可能爲空)。當它們存在時,這些關係可以連續多代。如何找到parent_id爲可選的ActiveRecord條目的最終祖先?
我的挑戰是將ProductDetail
對象has_many
的Product
複製到後續的子產品上。
雖然產品詳細信息可能尚未輸入到最終的祖先中。我只需要沿着鏈條走到我遇到的具有產品細節的祖先產品的地方,然後複製最新產品下的產品。
我怎樣才能走上連鎖店,直到我找到這些產品細節?
*注:identifier
字段不是主鍵,這是不實際的做起來很爲parent_identifier
來自外部數據庫,甚至可能不存在本地如果是從之前的客戶簽訂了協議。由於每天有數百萬種產品需要保持同步,因此在每次加載時都要檢查這種情況是不現實的。 *
從圖表的角度來講,它是一棵樹嗎?或者它總是一個繼承自其他對象的單個對象(除非它是一個根) –
它總是一個單一的繼承,所以它不是一棵樹。每個葉子只能有一個父親,每個節點只能有一個直接子孫。 – AKWF
而你需要從最後一個(葉/電流)的上游抓取第一個節點[從技術上講,這也是一個樹形圖;]] –