我们能用特征来映射与doctrine2的多对一关系吗


can we use traits to map manyToOne relationship with doctrine2?

我经常将其他投票实体中的一个投票实体与符号2/原则2联系起来。这是通过一对一的关系来实现的。

我曾考虑使用一个特性将关联及其getter/setter包含在其他实体中,但后来我遇到了无法正确替换mappedBy参数的问题。

如果没有办法对一种特质进行论证,那么我怎么能实现我的目标,因为我知道我不能扩展另一个类别。

示例:

/**
 * @ORM'OneToMany(targetEntity="'AppBundle'Entity'Social'Vote", mappedBy="post")
 */
private $votes;

前面的映射适用于post实体。但是,如果我把它放在一个trait中,并在Comment实体中使用该trait,我如何将mappedBy属性从post更改为Comment?

非常感谢!

是的,您可以覆盖与的关联

 * @AssociationOverrides({
 *      @AssociationOverride(name="bar",
 *          joinColumns=@JoinColumn(
 *              name="example_entity_overridden_bar_id", referencedColumnName="id"
 *          )
 *      )
 * })

看看http://doctrine-orm.readthedocs.org/en/latest/tutorials/override-field-association-mappings-in-subclasses.html