2017-02-13 118 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

谢谢!我已经检查过,现在我想我能够实现我想要的! –

相关问题