Wie verwenden Sie die cascade-option in Doctrine2 zu haben, verbundenen Entitäten automatisch erhalten?

Kann jemand erklären mir das:

$user = new User();

/* why do I have to call Entity Comment while trying to insert into db?  */
$myFirstComment = new Comment();

$user->addComment($myFirstComment);

$em->persist($user);
$em->persist($myFirstComment);
$em->flush();

Warum muss ich bei Anruf Entität Kommentar, während Sie versuchen, in die db einfügen?

Habe ich cascade für, die.

  1. Bedeutet das, dass wenn ich 50 Verhältnis in der Entität "Benutzer" mit anderen
    Personen, die ich anrufen jeden Bezug manuell, wenn Sie versuchen zu
    update/insert/delete?
  2. Warum-Kaskade vorhanden ist, wenn ich alle manuell?

Wenn ich alle rufen, dass die relation manuell ist es irgendwie blöd zu bedienen Lehre überhaupt.

Ich nicht. Jede Hilfe ist willkommen.

Dies ist mit diesem verbunden: Lehre 2, nicht einfügen um die Datenbank, wenn der Bezug vorhanden ist

  • Ich andere Worte, Warum muss ich aufrufen, Verweis auf andere Unternehmen, wenn ich Kaskade?
  • Lange Geschichte kurz: Wenn ich die Assoziation von einer Person zu einer anderen muss ich anrufen immer, die andere Person auf inserts/updates. Ich kann nicht sagen, "$user " ->addComment("some comment"), habe ich zu nennen relation und dann zu tun, "$user " ->addComment("some comment"). Das ist sinnvoll, aber es ist irgendwie dumm. Was ist, wenn ich 50 Beziehungen? Zu nennen, jeder Bezug auf " einfügen/aktualisieren? Lehre ist ideal für wählen, aber es nervt, für alles andere haben Sie Beziehungen. Ich habe 50 mal $this->em>getReference('entity-name') .....
  • ich habe Ihre Frage beantwortet mit viel Erklärung und der Hinweis auf die Dokumentation + schonmal ein code-Beispiel. bitte akzeptieren Sie die Antwort, wenn es dir geholfen 🙂
InformationsquelleAutor | 2013-05-22
Schreibe einen Kommentar