gpt4 book ai didi

php - 如何在 Doctrine 中基于动态变量进行动态关联?

转载 作者:行者123 更新时间:2023-12-04 05:48:46 26 4
gpt4 key购买 nike

我对教义2很陌生。我需要建立这样的连接:

标签有一个(抽象)资源连接。
(抽象)资源有标签。

我想根据代码动态地键入实体资源的对象。所以通过这种方式,我可以将标签附加到任何实现给定接口(interface)的实体上。

我在教义中使用 Zend Framework 和注释 docblock 样式。

另一个例子是一个“消息”实体,它在系统中代表一条文本消息,它有一个作者和接收者关联,但我希望根据作者和接收者有不同的目标。例如,管理员实体向用户实体发送消息,或者用户实体向 VipUser 实体发送消息。

最佳答案

听起来类表继承是解决这个问题的完美解决方案。

http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/inheritance-mapping.html#class-table-inheritance

您基本上需要创建您的父类(标签)并为其每个子类提供一个鉴别器映射。所以例如..

/** 
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"tag" = "Tag", "message" = "Message", "otherentity" = "OtherEntity"})
*/
class Tag
{
// tag properties / definitions etc
}

/** @Entity */
class Message extends Tag
{
// Message specific stuff
}

您可以在您需要的任何其他实体上扩展您的“标签”实体。只要记住为它更新你的鉴别器映射值。

关于php - 如何在 Doctrine 中基于动态变量进行动态关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10347611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com