PreUpdate HasLifecycleCallbacks 有一些问题。
我有一个实体,假设“A”与实体“B”有 OneToOne 关系。所以我有:
/**
* @ORM\Entity()
* @ORM\HasLifecycleCallbacks
*/
class A
{
/**
* @ORM\OneToOne(targetEntity="B", inversedBy="attrA", cascade={"persist", "remove"})
* @ORM\JoinColumn(name="fieldB", referencedColumnName="id")
*/
private $attrB;
public function __construct()
{
$this->attrB = new B();
}
/**
* @ORM\PrePersist
* @ORM\PreUpdate
*/
public function updateSomthing(){
//$gestor = fopen("/pruebitas.txt", "r");
$this->attrB->setDate($this->getDate());
}
}
B类是:
class B
{
/**
* @ORM\OneToOne(targetEntity="A", mappedBy="attrB")
*/
private $attrA;
}
当我创建一个新的实体 A 时,一切正常,问题是当我更新实体 A 时,PreUpdate 函数被触发,(因为它在注释行中创建文件),但实体 B 不会保留在数据库中,即使 B 中的字段应该更新。
有什么想法可以在 PreUpdate 上级联持久化吗?
谢谢!!