sql >> Base de Datos >  >> RDS >> Mysql

Symfony2 creando y manteniendo relaciones entre entidades

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"})