2011-10-12 35 views
1

持久关联对象的正确方法是什么?原则2 - 使用关联对象的正确方法

例如

class User{ 
    /** @OneToOne(targetEntity="Profile", cascade={"persist", "remove"}) */ 
    private $profile; 
} 

如果我在这样的配置文件对象更改属性$用户>简介 - >的setText( '文本');

然后做 $ em-> persist($ user)什么也没有发生。我试着保存配置文件,将更改后的配置文件设置回用户对象,同时保存两者,但配置文件记录永远不会更新。

这是如何完成的? 感谢

回答

0

这样做:

$user = new mjOfficeBase_modelos_Usuario; 
$user->setNombre('Mr.Pepito'); 
$em->persist($user); 
$em->flush(); 
+0

我不是这个意思,这对我来说很清楚。我需要更改关联的对象,然后坚持更改 – bazo

+0

您试过'$ em-> persist($ user-> profile); $ EM->冲洗(); '? – azat

0
$user = // get the user 
$profile = $user->getProfile(); 
$profile->setText('text'); 
$em->persist($profile); 
$em->persist($user); 
$em->flush(); 

运作的?