Doctrine2 ORM有2种技术方法可以处理多对多关联:
1 /对于2个实体之间的“简单”关系,并且没有附加属性:
2 /当链接表引入额外字段或超过2个实体时:
这两个实现完全不同。
但是,在某些情况下,未来的业务需求可以通过添加额外字段来快速更改简单关联。 在这种情况下,我们必须通过第二个实现和重构受影响的代码替换现有实体中的直接ManyToMany关联。
答案 0 :(得分:1)
如果您有充分的理由相信在不久的将来您将在ManyToMany联接表中拥有额外的属性,那么建立一个实体是出于预防的好主意。如果没有那么最好使用正常的ManyToMany关系。然后,当需要进行更改时,您可以更新模式以及代码。如果您尝试遵循单一责任原则,那么您可以避免重构大量代码。