2013-10-11 35 views
1

我triying更新父實體,當我更新子實體,所以當我把一個孩子的方法,我打電話給父類的方法,這樣的家長實體:的Symfony 2的學說堅持從孩子

class Parent(){ 
    public function setUpdate($bool){ 
     $this->update = $bool; 
    } 
} 

class Child(){ 
    public function setUpdate($bool){ 
     $this->update = $bool; 
     $this->getParent()->setUpdate($bool); /*CALL PARENT METHOD*/ 
    } 
} 

父方法被調用,但是當我堅持子實體時,父持久性不會觸發。

任何想法?非常感謝!!!!

+0

究竟你的意思'父一直存在不fire'什麼。是否有錯誤訊息?你可以發佈你的實體的代碼嗎?有太多的猜測。 –

回答

0

您可能缺少實體映射中的級聯屬性。例如:

class User 
{ 
//... 
    /** 
    * @OneToOne(targetEntity="User", mappedBy="user_id", cascade={"persist"}) 
    */ 
    private $parent; 
//... 
} 

看看http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html

+0

我的父母有很多孩子,所以mappedBy和cascade是在父實體(OneToMany)中,所以這樣,我可以從父母更新孩子,但不是反之亦然,那就是我想要的: – Angel

+1

In你可以做這樣的事情:'$ parent-> getChildren() - > add(new Child());'然後堅持$ parent – Jacobson

+0

也許如果你提供 – Jacobson