php - Doctrine 一对多无连接表

标签 php doctrine

我正在使用 Doctrine,我想知道我是否可以在不使用连接表的情况下建立一对多关系?

最佳答案

取决于您希望它是单向的还是双向的。

单向一对多只能通过join table实现,出于“意识形态”的原因,来自Java的hibernate:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-unidirectional-with-join-table

假设您有一个包含许多产品的类别,并且您想要一个单向关系 - 即类别知道很多产品,但产品不知道类别。

如果将“category_id”字段放入 Product 表,您将使 product 表“意识到”它与类别相关联。如果不更改 Product 表,您将无法删除此关系 - 这意味着它不是真正的单向。

但是,如果您在单独的连接表中保留类别和产品之间的关系,您可以直接删除它,Product 甚至不会注意到发生了某些变化。

关于php - Doctrine 一对多无连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849925/

相关文章:

javascript - 如何在facebook邀请API上获取受邀用户信息

php - 从所有行中获取所有字段 - MYSQL

php - Symfony3 可捕获 fatal error : Argument 1 passed to Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider

php - 在 Silverstripe 中制作灰度图像

javascript - 我想在 javascript 语法中包含 php 语法

php - 使用 Liipimaginebundle 更新和删除缓存图像

mysql - Doctrine ORM : possible to use EXPLAIN?

php - Doctrine 中的分离实体错误

php - Doctrine 将 bigint 作为字符串获取 - 如何防止这种情况

php - 如何测试自定义DQL函数?