我有一个模型(Event)与另一个模型(EventInvitations)有一个二元关系 - 这可能应该是one2many但是让我们继续前进。
我对EventInvitations的当前映射在eventid和userid上有一个UniqueConstraint 我的EventInivitation还有OneToOne Join on Event,这是一个外键
当我运行时:“doctrine.php orm:schema-tool:update --force”Doctrine将成功创建我的唯一索引,但它似乎也创建了另一个Uniq索引,其键名如Uniq_AHJHAUSH7J但在EventId字段上。
问题是我不希望外键创建唯一字段。有没有办法告诉Doctrine不要为外键创建Unique索引?
答案 0 :(得分:3)
OneToOne关系意味着唯一性。这意味着对于给定的EventInvitation,有一个事件,反之亦然。
您可能希望将几个EventInvitations与一个事件关联,在这种情况下,关系应该是ManyToOne(从EventInvitation的角度来看);因此,您可以使用没有唯一索引的事件的外键。