我们可以使用特征来映射与doctrine2的manyToOne关系吗?

时间:2015-02-17 15:01:08

标签: php entity-framework doctrine-orm traits many-to-one

我经常将其他人的投票实体与symfony2 / doctrine 2联系起来。这是通过manyToOne关系完成的。

我正在考虑使用特征将关联及其getter / setter包含在其他实体中,但后来我面临的问题是mappedBy参数无法正确替换。

如果没有办法为特质提供参数,我怎么能实现我的目标,因为我知道我不能扩展另一个阶级。

示例:

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

以前的映射适用于post实体。但如果我把它放在特征中并在评论实体中使用特征,我该如何将mappedBy属性从post更改为comment?

非常感谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以覆盖与

的关联
 * @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