2013-10-15 27 views
0

大家好。ManyToOne擁有方問題

我有一個問題,因爲我無法入睡) 如果我有一個名爲Product的實體(類),例如。我應該與這個產品鏈接一堆圖像。在一個數據庫中(我的例子中的MySQL)將看起來像這樣 - 我會創建一個表的產品和圖像的表。圖像表將有一個存儲產品ID的字段。

我明白這一點。我不明白的是 - 當我使用ORM(Doctrine2)處理產品和圖像時,我應該爲Image類創建inversedBy =「images」註釋,爲Product類創建mappedBy =「products」。在我的應用程序中,Product對象在這個連接的所有方面。

我該怎麼辦?我應該創建ManyToMany關係,還是有另一種方式?

謝謝。

P.S.圖像是產品實體中的ArrayCollection實例

回答

0

一個圖像可以用於多個產品嗎?如果我假設正確,它不能。因此,我會爲OneToMany關係。

+0

不 - 這是事實。如果是這樣 - 我會選擇產品實體作爲該關係的擁有方。 –

1

我沒有得到超出了文檔中設立一個

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

哎呀描述你的問題,它甚至使用「產品」,如例子中的實體 - 只需更換「功能「」圖像「,你就定了。

你是說你不要想要雙向關係嗎?

+0

當我使用這種方法時 - 當我創建新產品並向該產品添加新圖像時,我應該在ProductController的創建方法中觀察它,但我想知道是否有其他方法可以處理它。 –

0

好的。我已經處理了這個。我所做的是將cascade = {「persist」}添加到關係的反面,並在添加的產品類的addImage方法中添加: public function addImage($ image) { $ this-> images- >加($圖像); $ image-> setProduct($ this); return $ this; }

相關問題