PreUpdate HasLifecycleCallbacks に少し問題があります。
私にはエンティティがあります。たとえば、エンティティ「B」との OneToOne 関係を持つ「A」とします。ので、私は持っています:
/**
* @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 で永続化をカスケードするアイデアはありますか??
ありがとう!!