2014-08-30 91 views
0

我想保存用戶對遊戲的評分。未映射的學說oneToMany - YML

例如:「戰地4」是一款遊戲,「用戶」是一位用戶,用戶對此遊戲有10個評級。

我該如何做到這一點,而不使用oneToMany的映射屬性?

我陽明海運(在用戶和遊戲orm.yml文件):

oneToMany: 
    ratings: 
     targetEntity: CS\GamingBundle\Entity\Rating 
     cascade: ["all"] 
     fetch: EXTRA_LAZY 
+0

如果我明白你想要什麼(你希望有一個替代方案來存儲沒有oneToMany關係的評級),你可以直接在用戶實體中存儲它,並添加一個'rating'屬性(數組在db上)。 – 2014-08-30 10:25:02

+0

對不起,我不能說清楚。我想保留一個表的評分:game_user_ratings與user_id,game_id和評級領域。我想在這三個實體(用戶,遊戲,評級)之間建立關係。我不知道如何在oneToMany中使用mappedBy。 – 2014-08-30 10:42:31

回答

0

我猜你不想映射關係,因爲你所有的收視率很擔心裝載當你加載用戶(因此fetch: EXTRA_LAZY)?使用EXTRA_LAZY應該意味着沒有額外的開銷,所以沒有什麼可擔心的。

您可以在Rating實體上添加manyToOne關係,而不使用往復oneToMany關係。

否則,您需要創建一個manager + repo並手動執行所有操作。國際海事組織這是不值得的使用ORM的麻煩。