I have trait which looks like this
trait CommentableTrait
{
/**
* @OneToMany(targetEntity="Comment", mappeBy="to_override")
*
*/
protected $comments;
}
In the Comment.php I have ManyToOne relation
class Comment
{
/**
* @ManyToOne(targetEntity="Article", inversedBy="comments")
*/
protected $article;
/**
* @ManyToOne(targetEntity="Page", inversedBy="comments")
*/
protected $page;
/**
* @ManyToOne(targetEntity="Page", inversedBy="comments")
*/
protected $question;
}
I want to use this trait in my entities Article.php, Page.php, Quesion.php like this:
class Article
{
use CommentableTrait;
}
I need to override mappedBy in CommenatableTrait.
I've tried the solution from Doctrine - Override Field Association Mappings In Subclasses
It works with OneToOne and ManyToMany relations but I couldn't find a working example for bi-directional OneToMany - ManyToOne relations. Is there a way to do it?