cygnus/doctrine-magic-embed-bundle

该包已被弃用且不再维护。未建议替代包。

一个用于支持嵌入 Doctrine 文档中一等管理文档版本的 Symfony2 扩展包

dev-master 2014-02-27 03:16 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:18:56 UTC


README

此扩展包支持在 Doctrine 文档中嵌入一等管理文档的版本。

Build Status

问题

在 Doctrine 中,管理文档无法轻松嵌入其他文档。在博客场景中,将作者嵌入每个 Post 文档中非常有用,既可以防止不必要的数据库查询,又可以在文档加载后轻松访问作者的方法或属性。

在 Doctrine 中,您需要要么引用 Author 文档(导致数据库查询),要么嵌入 Author 文档的 EmbeddedDocument 版本(其中更改不会持久化)。您可能还想指定要嵌入的嵌入文档的字段,但目前不支持此功能。

解决方案

此扩展包试图通过提供以下三项来解决这个问题:

  1. 一个注解驱动器,用于定义在嵌入文档时应使用哪些字段。
  2. 一个服务,它挂钩到 Doctrine 的加载和持久化事件,根据您使用注解驱动器定义的字段将传递的文档转换为真正的嵌入文档。
  3. 最后,一个服务,它挂钩到 Doctrine 的持久化功能,将管理文档的更改级联到转换后的嵌入文档。

状态

此扩展包目前正在积极开发中,尚无稳定版本。如果您想了解更多或贡献,请随时查看文档wiki