Wenn Sie zwei Entitäten mit einer Eins-zu-Eins-Beziehung erstellen, müssen beide Entitäten entweder explizit oder mithilfe von Cascade persist auf einer Seite der Beziehung beibehalten werden. Sie müssen auch explizit beide Seiten der Beziehung festlegen.
Lehre - Arbeiten mit Assoziationen - Transitive Persistenz / Kaskadenoperationen
Zustände:
Doktrin – Arbeit mit Verbänden – Gründung Verbände
Zustände:
Ohne Kaskaden-Persistenz brauchen Sie so etwas:
$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();
Mit cascade persist auf der Skin-Seite der Beziehung können Sie $em->persist($skin)
weglassen . Beachten Sie, dass Sie beim Kaskadieren von Persistieren normalerweise auch Folgendes entfernen würden:
* @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})