ManyToMany在Doctrine中使用额外的列自引用

时间:2013-10-16 16:34:50

标签: doctrine-orm doctrine many-to-many

我有使用纯SQL很容易解决的问题,但我需要在YAML中用Doctrine解决它。

我有众所周知的db表用户和朋友。其中,用户表具有主键user_id,而朋友具有friend_idfriend_with_id,其中使用来自表用户的user_id。当我需要添加一个列的情绪时,我的问题开始了。使用SQL我向表朋友添加了一个名为mood的列,并且使用了doctrine,我找不到任何解决方案。

为了更好地理解,我添加了db方案: enter image description here

1 个答案:

答案 0 :(得分:0)

我在这里看不到任何自我引用关系。 friend_id和friend_with_id都指向users.user_id。我看到的是,来自用户方的两个一对多关系或来自朋友方的两个多对一关系。

因此,Friend实体中将有两个与friend_id和friends_with_id对应的ArrayCollection对象(ManyToOne)。类似地,User实体上有两个ArrayCollections(OneToMany),即myFriends和friendsWith。