sql >> Databáze >  >> RDS >> Mysql

Symfony2 vytváří a udržuje vztahy entit

Když vytvoříte dvě entity se vztahem jedna ku jedné, obě entity musí být zachovány buď explicitně, nebo pomocí kaskádového přetrvání na jedné straně vztahu. Musíte také explicitně nastavit obě strany vztahu.

Doktrína – pracovní s asociacemi – Transitive persistence / Cascade Operations

Státy:

Doktrína – Práce s asociacemi – Zakládání Asociace

Státy:

Bez přetrvávání kaskády potřebujete něco takového:

$skin = new Skin();
$email = new Email();
$skin->setEmail($email);
$email->setSkin($skin);
$em->persist($email);
$em->persist($skin);
$em->flush();

S kaskádovým persistováním na straně vzhledu vztahu můžete vynechat $em->persist($skin) . Všimněte si, že pokud kaskádování přetrvává, obvykle také kaskádové odstranění:

 * @ORM\OneToOne(targetEntity="MediaparkLt\UserBundle\Entity\Email", inversedBy="skin", cascade={"persist", "remove"})



  1. Jak reprezentovat Cross Apply a Split String v MySQL

  2. MySQL odstraní duplicitní záznamy, ale ponechá nejnovější

  3. Jak optimalizovat zobrazení MySQL

  4. Jak odstranit úvodní a koncové mezery v poli MySQL?