sql >> Database teknologi >  >> RDS >> Mysql

Symfony2 skaber og vedvarer entitetsrelationer

Når du opretter to entiteter med en en-til-en-relation, skal begge entiteter bevares enten eksplicit eller ved at bruge cascade persist på den ene side af relationen. Du skal også udtrykkeligt angive begge sider af forholdet.

Doktrin - arbejde med foreninger - Transitiv persistens / Cascade Operations

Stater:

Doktrin - Arbejde med foreninger - Etablering Foreninger

Stater:

Uden kaskade vedvarende har du brug for noget som dette:

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

Med cascade persist på hudsiden af ​​forholdet kan du udelade $em->persist($skin) . Bemærk, at hvis du kaskade vedvarer, ville du normalt også kaskade fjerne:

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



  1. Bruger du MySql MySQLMembershipProvider - autogenerateschema=true virker ikke?

  2. Er det muligt at lave en rekursiv SQL-forespørgsel?

  3. Applikationen fryser, når databasen kaldes

  4. Pivottabeller PHP/MySQL