0

大家好。

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

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

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

谢谢你。

PS 图片是 Product 实体中的 ArrayCollection 实例

4

3 回答 3

1

我没有得到您的问题超出文档中描述的设置

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

哎呀,它甚至使用“产品”作为示例中的实体 - 只需替换“功能”“图像”就可以了。

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

于 2013-10-15T15:56:33.383 回答
0

一张图片可以用于不止一种产品吗?如果我假设正确,它不能。因此,我会去寻找OneToMany关系。

于 2013-10-15T15:37:21.187 回答
0

好的。我已经处理过了。我所做的是将 cascade={"persist"} 添加到关系的反面以及我添加的 Product 类的 addImage 方法中: public function addImage($image) { $this->images->add( $图像);$image->setProduct($this); 返回$这个;}

于 2013-10-16T09:14:03.657 回答