Wanneer u twee entiteiten maakt met een één-op-één-relatie, moeten beide entiteiten worden behouden, hetzij expliciet, hetzij met behulp van cascade-persistentie aan één kant van de relatie. Je moet ook expliciet beide kanten van de relatie instellen.
Doctrine - Werken met verenigingen - Transitieve volharding / Cascade-operaties
Staten:
Doctrine - Werken met verenigingen - Oprichting Verenigingen
Staten:
Als er geen cascade aanhoudt, heb je zoiets als dit nodig:
$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();
Met cascade persistent aan de Skin-kant van de relatie kunt u $em->persist($skin)
weglaten . Let op:als je cascade aanhoudt, zou je meestal ook cascade verwijderen:
* @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})