2012-03-20 23 views
1

我需要允許多個產品出現在購物車中。我不想增加數量欄,我實際上需要兩次購物車中的同一個產品實體。我想重用產品實體,而不是創建CartProduct中介。如何從Symfony2中刪除化合物PK ManyToMany

車多對多產品

然而,表由教義創建:模式:與cart_id + PRODUCT_ID的化合物主密鑰更新。這可以防止我兩次添加相同的產品。

我該如何解決這個問題?

這不是唯一的用例我有我需要一個ManyToMany來支持重複條目。這對Symfony2/Doctrine來說是不可能的嗎?

回答

1

它不像關係數據庫那樣是對學說的限制。每行都需要一個唯一的主鍵,默認情況下,在Doctrine 2中,它將是product_id,cart_id。

解決此問題的唯一方法是讓自己明確CartProduct實體並添加至少一個列。這並不難。只需從購物車和產品中建立OneToMany關係即可。