2

经过一些研究,我仍然无法找到解决我的小问题的方法!我想为我的用户提供一种金字塔层次结构,但我要解释一下“兄弟用户”的概念。

我有这样的用户:

树仅表示谁创建了谁,实际上两个建筑管理员都管理同一栋建筑,并且必须查看其他人创建的内容。

传奇:

b=> building, s=>service, r=>room, a=> admin(带有他的 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”创建了什么。

我已经开始尝试使用路径结构,但我希望您的意见和建议不要走错路!

提前感谢;)

4

1 回答 1

0

我会阅读关于分层数据的教义文档。我将扩展包和嵌套集用于类似的东西。

现在,关于某些用户能够看到节点。我不认为这对您的数据库管理器来说是个问题。我认为这听起来更像是您可以放入代码中的业务逻辑。扩展包提供了一些不错的功能,仅用于获取子节点,我认为您可以将其包装在一些方便的服务中以达到您的目的。

于 2017-02-16T12:01:19.327 回答