大家好。
我有一个问题,因为我无法入睡) 例如,如果我有一个名为Product的实体(类)。我应该用这个产品链接一堆图像。在一个数据库(在我的情况下是MySQL)中看起来像这样 - 我创建了一个产品表和一个图像表。图像表将有一个存储产品ID的字段。
我现在明白了。我不明白的是 - 当我在ORM(Doctrine2)中使用我的产品和图像时,我应该为Image类创建inversedBy =“images”注释,并为Product类创建mappedBy =“products”。在我的应用程序中,Product对象位于此连接的拥有方。
我该怎么办?我应该创建ManyToMany关系,还是有另一种方式?
谢谢。
P.S。 images是Product实体
中的ArrayCollection实例答案 0 :(得分:1)
除了设置
的文档中描述的内容之外,我没有提出您的问题哎呀,它甚至使用“Product”作为示例中的实体 - 只需替换“Feature”“Image”就可以了。
您是说不想要双向关系吗?
答案 1 :(得分:0)
可以在多个产品中使用一张图片吗?如果我认为是正确的,它就不能。因此,我会选择OneToMany
关系。
答案 2 :(得分:0)
确定。我已经解决了这个问题。我所做的是将cascade = {“persist”}添加到关系的反面,并在我添加的Product类的addImage方法中添加: 公共函数addImage($ image) { $这 - >图像 - >添加($图像); $图像 - > setProduct($本); 返回$ this; }