2017-02-13 149 views
2

經過一番研究,我仍然堅持尋找解決方案來解決我的小問題! 我想爲我的用戶提供一種金字塔式的hirarchical結構,但是用'兄弟用戶'的概念,讓我解釋一下。Doctrine2 - 父母,孩子和兄弟姐妹用戶喜歡

我有用戶這樣的:

樹只意味着誰創造了誰,其實都大廈管理員管理同一個建築,必須看到什麼其他的創造。

圖例:

B =>建築,S =>服務,R =>室,=>管理員(用他的ID)

  • B1-A1
    • B1- S1-A2
      • B1-S1-R1-A2
      • B1-S1-R2-A3
    • B1-S1-A4
      • B1-S1-R1-A5
      • B1-S1-R2-A6
    • B1-S2-A7
  • B1- A8
    • B1-S1-A9
    • B1-S2-A10
      • B1-S2-R1-A11

我的問題是,我怎麼能實現上取決於哪個用戶的我不同項目的訪問?

例:

'B1-S2-A7' 應該能夠看到B1-S2-R1-A11,因爲他是低於他,即使他沒有在他的直接樹。

此外,'b1-s1-a9'應該看到他的'兄弟''b1-s1-a2'和'b1-s1-a4'創建了什麼。

我已經開始嘗試使用路徑結構,但是我希望您的意見和建議不會以錯誤的方式進行!

由於通過提前;)

回答

0

我會讀取doctrine docs on hierarchical data。我使用了extensions bundle和一個類似的嵌套集。

現在,關於某些用戶能夠看到節點。我認爲這對你的數據庫管理員來說不是一個問題。我認爲這聽起來更像商業邏輯,你可以把它放在你的代碼中。擴展束提供了一些很好的功能,僅用於獲取子節點,我認爲您可以將其包裝在一些便利的服務中用於您的目的。

+1

謝謝!我已經檢查過,現在我想我能夠實現我想要的! –