2013-04-15 128 views
0

我想問一下在提交表單時是否存在兩個實體的可能性。那可能嗎?堅持相關實體的形式symfony2

$em = $this->getDoctrine()->getManager(); 
     $em->persist($a); 
     $em->persist($b); 
     $em->flush(); 

知道我有兩個實體之間的共同領域。實際上,這些字段是由於兩個實體之間的多對一關係而生成的。而且,我會將一些字段添加到第二個實體中。

回答

1

是的,可以堅持兩個實體,但首先檢查您的實體關係,例如,如果A與B具有oneToMany關係,那麼您將在A實體內具有addB()方法。

在這個特定用例中持久相關實體就像在關係上添加cascade={"persist"}一樣簡單,並且堅持A

如果你已經你想既節省AB相關元素之前添加到B一些特定的簡單的邏輯,你可以把這個邏輯addB()使每一個B元素被添加到您的A實體的時候,你會得到你想要的改變(設置正確的狀態,日期等等)。