Symfony2 - document2 Stapelverarbeitung

8

Ich habe folgende Situation:

Ich muss eine große Anzahl von Entitäten (Entität C) basierend auf einem Paar von Entitäten erstellen

  • Einheit A (45)
  • Entität B (700000 +)
  • Entität C (45 x 700000)
  • Entität D

Also habe ich beschlossen, folgendes zu tun:

%Vor%

Ich folge den Anweisungen von doctrine2-batch-processing

aber wenn ich $em->detach($row[0]); ausführen und erröten bekomme einen Fehler Eine neue Entität wurde durch die Beziehung gefunden ...

Ich habe versucht, ohne $em->detach($row[0]); aber diesen hohen Speicherverbrauch

Ich brauche : befreie den Speicher jeder Entität B, nach der Verwendung, aber gleichzeitig jede Spülung oder nach Gruppen und nicht einzeln, und lösche alle Entitäten C

    
rkmax 16.12.2011, 22:03
quelle

2 Antworten

1

Aufruf clear () für den Entity Manager löscht ALLE Objekte (standardmäßig). Übrigens können Sie den Entitätsnamen an die Entitäten des angegebenen Typs übergeben:

%Vor%

Ich denke, du versuchst bereits losgelöste Wesen zu lösen und deshalb wird es als neu behandelt.

Versuchen Sie, clear() call zu entfernen. Sie können auch versuchen, detach() call zu entfernen und clear() für ausgewählte Entitäten aufzurufen.

    
Jakub Zalas 19.12.2011 18:32
quelle
1

Sie müssen den Entitätsnamen vollständig angeben

%Vor%     
Reza S 07.07.2014 18:45
quelle