0

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

根据医生...

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

我认为每个文档应该只有一个@Children 或@Child。但是如果同一属性中有不同的文档,如何管理表单?我不清楚这个的用法。我应该在其他属性上选择 @Children 和 @ReferenceOne / @ReferenceMany 的一个属性吗?

4

1 回答 1

1

PHPPCR 是一棵树,每个节点都位于其父节点之下。对于父节点,这是一个子节点。使用@Child 时,您使用一个字段来称呼一个特定的孩子。使用@Children,您可以映射所有子文档,并且具有此映射的成员变量包含一个集合。请注意,有一个中间立场:您可以指定通过子项的命名模式来过滤 @Children。

实际上,您最终可能会在 @Child 和 @Children 中得到相同的孩子 - 我们建议不要内联编辑未过滤的孩子集合,而是建立链接。如果您有一个过滤的子集合和一个单独的子集合,那么事情可以很好地解决。

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

于 2015-02-16T07:31:20.553 回答