我有一个用于多对多实体的关系表。
author_id | book_id
我需要添加relationship_id吗?我应该能够使用两个ID进行识别。
谢谢
由于您使用的是Doctrine,因此请尽量不要在RDBMS级别上考虑太多(至少不是大部分时间)。
如果您有两个具有ManyToMany关系的实体,则应该忘记代理键。实际上,您应该几乎忽略关系表存在的事实。您仅具有两种相关的实体类型。
现在,如果您需要存储有关关系本身的元数据(例如,将徽章授予用户的日期),那么您将超越一个简单的ManyToMany,并且需要自己创建关系来建模- 通过创建一种新的关系实体(例如UserBadge)。该实体当然会有一个ID。
您正在使用ORM,请考虑实体,而不要考虑表(大多数时候)!