我对教义2很陌生。我需要建立这样的连接:
标签有一个(抽象)资源连接。(抽象)资源有标签。
我想根据代码动态键入实体资源的对象。所以通过这种方式,我可以将标签附加到任何实现给定接口的实体上。
我在教义中使用 Zend Framework 和注释 docblock 样式。
另一个例子是一个“消息”实体,它在系统中代表一条文本消息,它有一个作者和接收者关联,但我希望根据作者和接收者有不同的目标。例如,管理员实体向用户实体发送消息,或者用户实体向 VipUser 实体发送消息。
我对教义2很陌生。我需要建立这样的连接:
标签有一个(抽象)资源连接。(抽象)资源有标签。
我想根据代码动态键入实体资源的对象。所以通过这种方式,我可以将标签附加到任何实现给定接口的实体上。
我在教义中使用 Zend Framework 和注释 docblock 样式。
另一个例子是一个“消息”实体,它在系统中代表一条文本消息,它有一个作者和接收者关联,但我希望根据作者和接收者有不同的目标。例如,管理员实体向用户实体发送消息,或者用户实体向 VipUser 实体发送消息。
听起来类表继承是解决这个问题的完美解决方案。
您基本上需要创建您的父类(标签)并为其每个子类提供一个鉴别器映射。所以例如..
/**
* @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
}
您可以在您需要的任何其他实体上扩展您的“标签”实体。只要记住为它更新你的鉴别器映射值。