我正在寫一個站點(PHP + MySQL),其中一些對象(比如說文章)是按組來組織的。每篇文章屬於一個單獨集。每組可以獨立或屬於一個更大的集合。一個集合可以是單例,也可以是集合的集合。爲了跟蹤集合之間的關係,我使用了一個跟蹤所有「家庭鏈接」的閉合表。該表具有ancestor
字段,descendant
字段和length
字段,該字段計算祖先和後代之間的分離度。構造PHP代碼來鏈接對象創建和db寫入?
- 每篇新文章都意味着創建一個新的單例集。
- 每個新的集合意味着創建一個新的閉包表條目,其中
ancestor
和descendant
是相同的,並且其中length
= 0。由於集合可以是現有集合的集合,因此可以獨立於文章創建新集合。
我要組織我的PHP程序,使得每當我寫一個數據庫中的新文章的時候,我會自動編寫了一套新的,每個我打開一個新設定的時間,我會自動寫入一個新的封閉表項。
什麼是構建我的代碼的正確方法?它是創建嵌套對象(article
對象包括set
,其本身包括一個closure
)和一個遞歸函數來寫入數據庫,它將首先編寫嵌套對象(如果對象是閉包,則結束條件是表條目)?有沒有辦法在單個事務中摺疊這些遞歸寫入?
是否有我可以使用的現有模式?