【问题标题】:Dynamic fields/properties in Doctrine2 - how?Doctrine2 中的动态字段/属性 - 如何?
【发布时间】:2011-01-26 16:00:00
【问题描述】:

我希望插件能够为我的模型添加属性。例如,我有一个模型“消息”。 “Like”插件可以向其添加属性“likedtimes”并对其进行维护。我怎样才能获得这样的功能?

一种解决方案是为喜欢创建单独的表和模型。但这需要在显示喜欢时加入或额外选择。

【问题讨论】:

    标签: php orm doctrine-orm


    【解决方案1】:

    您是否尝试在实体(而非模型)之间复制通用功能?

    如果是这样,我建议您使用内置的事件系统实现自己的behavior

    仅供参考:Difference between entities and models

    【讨论】:

    • 我正在尝试允许第三方程序员为我的 Web 应用程序编写插件。我需要为他提供一种向我的实体添加属性的方法。
    • 我之前在尝试创建自己的行为系统时已经研究过这个问题。我无法以动态添加列的方式烘焙。您不能只修改 ClassMetadata,因为实体在物理上需要该属性。
    • 如果您有兴趣,我发现的最佳替代方案是 EventListener,它检查实体实现的接口并确保实体具有基于该接口的某些属性;如果没有抛出异常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多