Cuando crea dos entidades con una relación de uno a uno, ambas entidades deben persistir, ya sea explícitamente o utilizando la persistencia en cascada en un lado de la relación. También debe establecer explícitamente ambos lados de la relación.
Doctrine - Trabajo con Asociaciones - Persistencia Transitiva / Operaciones en Cascada
Estados:
Doctrine - Trabajo con asociaciones - Establecimiento Asociaciones
Estados:
Sin persistencia en cascada, necesita algo como esto:
$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();
Con la persistencia en cascada en el lado de la piel de la relación, puede omitir $em->persist($skin)
. Tenga en cuenta que si persiste en cascada, normalmente también eliminará en cascada:
* @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})