can we use traits to map manyToOne relationship with doctrine2?
Asked Answered
C

1

0

I am frequently associating a vote entity in other ones with symfony2 / doctrine 2. This is done through a manyToOne relationship.

I was considering using a trait to include the association and its getters/setters in other entities but then I faced the issue that the mappedBy parameter couldn't be replaced correctly.

If there is no way to give arguments to a trait, how else could I achieve my objective, knowing I can't extend another class.

Example :

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

The previous mapping works fine for a post entity. but if I put it in a trait and use the trait in a Comment entity, how can I change the mappedBy attribute from post to comment ?

Thanks a lot!

Congenital answered 17/2, 2015 at 15:1 Comment(0)
P
1

Yes you can override associations with

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

Have a look at http://doctrine-orm.readthedocs.org/en/latest/tutorials/override-field-association-mappings-in-subclasses.html

Pinkney answered 8/9, 2015 at 11:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.