2013-12-12 79 views
0

我想添加使用分層設計的評論系統。下面是從我的數據庫,保持崗位的跟蹤樣本/回覆(注意,更多的行添加爲更多的人回覆):評論系統的分層數據

post_id | parent_id 
    1   1 
    2   1 
    3   1 
    4   2 
    5   3 
    6   2 
    7   4 

我已經做了關於不同的方法來輸出一些研究和操作數據得到你需要什麼,但我不確定哪種方法最適合評論系統,以及我會如何做。

我知道鄰接表不會處理,因爲它無法處理深層樹。

請幫忙。

+0

你並不需要*深*的樹。十幾個嵌套級別將無法使用 –

+0

@YourCommonSense這實際上取決於答覆的數量。 – Bagwell

+0

確實。 20個嵌套回覆將無法讀取 –

回答

-1

從目前的趨勢來看,AL是比較可以接受的解決方案。所有現代網站傾向於將所有評論轉儲到一個頁面上 - 意味着不需要複雜的SQL邏輯,只是對所有評論的簡單查詢屬於單篇文章。還有一個循環將它們存儲在數組中。

如果你不想循環,但得到一個已經排序的查詢中的所有註釋,那麼Materialized Path會很方便。對於實施,你可以找到很多例子,我相信。

+0

通過物化路徑,如果路徑非常長(例如:'1,2,3,4,5,6,7,8,9,10 ... 1000')怎麼辦?它會變得多慢? – Bagwell

+0

你又錯了。 1000個嵌套級別絕對不可能。雖然10-20是相當可忍的數字。請注意,我相信1,2,3不會起作用。 000100020003它必須是。 –

+0

或更好的數字轉換爲base36以縮短它們更多 –