doutou3725 2017-03-18 15:05
浏览 60
已采纳

Doctrine Trait覆盖OneToMany关系

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?

  • 写回答

1条回答 默认 最新

  • dpjtn48868 2017-03-18 22:02
    关注

    You can use trait within a class and override relation there. For example:

    class Article
    {
        use CommentableTrait;
    
        /**
         * @See CommentableTrait
         * @OneToMany(targetEntity="Comment", mappeBy="article")
         *
         */
         $comments      
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?