我正在使用 Doctrine,我想知道我是否可以在不使用连接表的情况下建立一对多关系?
最佳答案
取决于您希望它是单向的还是双向的。
单向一对多只能通过join table实现,出于“意识形态”的原因,来自Java的hibernate:
假设您有一个包含许多产品的类别,并且您想要一个单向关系 - 即类别知道很多产品,但产品不知道类别。
如果将“category_id”字段放入 Product 表,您将使 product 表“意识到”它与类别相关联。如果不更改 Product 表,您将无法删除此关系 - 这意味着它不是真正的单向。
但是,如果您在单独的连接表中保留类别和产品之间的关系,您可以直接删除它,Product 甚至不会注意到发生了某些变化。
关于php - Doctrine 一对多无连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849925/