【问题标题】:ManyToMany self-referenced with extra column in Doctrine多对多自引用,在 Doctrine 中有额外的列
【发布时间】:2013-10-16 16:34:50
【问题描述】:

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

我有众所周知的数据库表用户和朋友。其中 users 表的主键为 user_id,friends 的主键为 friend_idfriend_with_id,它们使用表 user 中的 user_id。当我需要再添加一个专栏情绪时,我的问题就开始了。使用 SQL,我向表朋友添加了一个名为 mood 的列,但它已经完成了学说,我找不到任何解决方案。

为了更好地理解,我添加了 db 方案:

【问题讨论】:

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


    【解决方案1】:

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

    那么,Friend实体中就会有两个ArrayCollection对象(ManyToOne),分别对应friend_id和friends_with_id。类似地,User 实体上有两个 ArrayCollections (OneToMany),即 myFriends 和 friendsWith。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      相关资源
      最近更新 更多