代码之家  ›  专栏  ›  技术社区  ›  Peekmo

原则PHPCR@儿童&@儿童

  •  0
  • Peekmo  · 技术社区  · 9 年前

    我从Symfony CMF的理论开始学习PHPCR,我有一个问题。 是否可以在同一文档的两个不同属性上使用@Children和@Child?

    根据医生的说法。。。

    注释的实例变量将在文档层次结构中的实例变量文档类的正下方填充Documents。

    我认为每个文档应该只有一个@Children或@Children。但是,如果同一属性中有不同的文档,如何管理表单?我不清楚这个的用法。我应该用@Children&@ReferenceOne/@ReferenceAny on the others?(引用一个/@引用其他人?)?

    1 回复  |  直到 9 年前
        1
  •  1
  •   dbu    9 年前

    PHPCR是一棵树,每个节点都位于其父节点下。对于父节点,这是一个子节点。当使用@Child时,您使用一个字段来处理一个特定的子对象。使用@Children,您可以映射 全部的 子文档和具有此映射的成员变量包含一个集合。注意,这里有一个中间点:您可以指定通过子对象的命名模式过滤@Children。

    实际上,您可能会在@child和@Children中找到同一个孩子-我们建议不要内联编辑未过滤的孩子集合,而是创建链接。如果您有一个过滤的children集合和一个单独的children,事情就会很好地解决。

    引用是不遵循树层次结构的交叉链接。他们的效率不如亲子关系。您应该只将它们用于次要关系,但要在树中保持主要内容的结构。