0

我想将我的遗留商店系统从关系系统迁移到基于文档的系统。原因很明显:我想降低描述商店文章的关系的复杂性,它可以具有多个不同的属性。

因此,我阅读了 Doctrine PHPCR 的文档并发现,有几个示例说明如何使用引用构建模型,因为 PHPCR 的主要概念是

  • 层次映射
  • 参考

如此处所述:关联映射

但是文档使用这两个概念来实现相同的目标:

参考文献:以作者和评论作为参考的文章

示例:使用对象

文章通过ID/path: 查询/article/hello-world,评论和作者为参考。

/**
 * @ReferenceOne
 */
private $author;

/**
 * @Referrers(referrerDocument="Comment", referencedBy="article")
 */
private $comments;

Hierarchical:博客用户作为子文档

示例:查询构建器

它通过路径查询博客用户(可能是作者)

$qb->from('Blog\User', 'u');

// where name is "daniel"
$qb->where()
  ->eq()->field('u.name')->literal('daniel');

因此,我的主要问题是,这可能是什么原因,或者更具体地说,建立具有动态属性的模型(如商店文章)的最佳实践是什么?

/article/id:properties[A|B|C]

或者

/article/id/propertyA
/article/id/propertyB
/article/id/propertyC

如果有人分享其经验,那将非常有帮助。

4

1 回答 1

0

我自己找到了答案:

  • 当您想要移动文档并重新排列结构时使用分层引用
  • 使用引用来描述/扩展文档

对于商店文章,最好使用名称、价格、税收等属性的参考。和孩子,如果你想有像包这样的子文章。

于 2017-04-18T23:23:48.550 回答