多对一拥有方问题


ManyToOne owning side issue

大家好。

我有一个问题,我无法入睡)例如,如果我有一个名为"产品"的实体(类)。我应该与这个产品链接一堆图像。在数据库中(在我的情况下是MySQL)中看起来像这样 - 我会创建一个产品表和一个图像表。图像表将有一个存储产品 ID 的字段。

在这一点上,我明白了。我不明白的是 - 当我在ORM(Doctrine2)中使用我的产品和图像时,我应该为图像类创建反向dBy="images"注释,并为产品类创建mappedBy="产品"。在我的应用程序中,Product 对象位于此连接的拥有端。

我该怎么办?我应该创建多对多关系,还是有其他方法?

谢谢。

附言图像是产品实体中的 ArrayCollection 实例

除了

设置一个的文档中所述的内容之外,我没有得到你的问题

https://doctrine-orm.readthedocs.org/en/latest/reference/association-mapping.html#one-to-many-bidirectional

哎呀,它甚至使用"产品"作为示例中的实体 - 只需替换"功能"图像"即可设置。

你是说你想要双向关系吗?

一张图片可以在多个产品中使用吗?如果我假设正确,它不能。因此,我会选择OneToMany关系。

好的。我已经处理过这个问题。我所做的是将 cascade={"persist"} 添加到关系的反侧,并在我添加的产品类的 addImage 方法中:公共函数添加图像($image){ $this->图像->add($image); $image->集产品($this); 返回$this;}