Podczas tworzenia dwóch jednostek z relacją jeden do jednego obie jednostki muszą być utrwalane jawnie lub przy użyciu kaskadowego utrwalania po jednej stronie relacji. Musisz również wyraźnie określić obie strony relacji.
Doktryna - Praca z skojarzeniami — trwałość przechodnia / operacje kaskadowe
Stany:
Doktryna – Praca ze stowarzyszeniami – Zakładanie Powiązania
Stany:
Bez utrzymywania kaskadowego potrzebujesz czegoś takiego:
$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();
Dzięki kaskadowemu utrzymywaniu się po stronie skóry relacji możesz pominąć $em->persist($skin)
. Zwróć uwagę, że jeśli kaskadowo będziesz utrzymywał się, zwykle będziesz również usuwał kaskadowo:
* @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})