2017-03-07 2 views
1

Wenn es bereits eine Antwort auf meine Frage gibt, sorry und bitte zeigen Sie mir in die richtige Richtung, weil ich nichts finden kann.Nelmio/Alice 2.x Symfony 3, Lade Ähnliche Geräte in verschiedenen Bundles

Nehmen wir an, ich habe zwei Bundles. Jedes Paket hat die Datei fixures.yml und die Ladedatei. Lader und Vorrichtungen funktionieren gut, wenn sie nicht voneinander abhängig sind.

Wenn ich jedoch FixtureA von fixtureB referenziere, erhalte ich doppelte Datensätze in der Datenbank.

Z. B:

user_{1..10}: 
email (unique): '<firstName()>+<randomNumber()>@gmail.com' 
plainPassword: 'secret' 

story_{1..10}: 
    user: "@user_<current()>" 
    title: '<word>' 

Wenn sie sind in getrennten Dateien - dupliziert Reihe. Wenn sie in der gleichen Datei sind, ist alles in Ordnung.

Warum wird es zweimal geladen?

ich dies auch versucht:

$objects = Fixtures::load(__DIR__ . '/fixtures.yml', $manager, ['persist_once'=>true]); 

Kein Glück.

Evey Zeit versuche ich Benutzerobjekt in Story-Fixtures zu verwenden, versucht Alice, es wieder in db zu speichern.

Mit besten Grüßen, Robert

Antwort

1

Ich habe ein wenig Forschung und sprach mit Menschen - es sieht aus wie ein möglicher Fehler ist. Sie können Sie hier mehr erfahren:

Nelmio/Alice 2.x Duplicated Row

Auch würde Ich mag meine Arbeit teilen um:

Ich wollte die Dinge getrennt halten und sauber. Anstatt alle Fixtures in einer Datei in einem Bündel zu speichern, können Sie sie in das Verzeichnis App/DataFilteries/ORM verschieben. Symfony sucht jedoch nicht nach Fixtures in diesem Verzeichnis. Sie können:

  • add Pfad zu den Vorrichtungen in den Konsolenbefehl:

    doctrine:fixtures:load --fixtures=/var/www/story/app/DataFixtures/ORM 
    
  • alias erstellen für obige Lösung

  • Überschreibung DoctrineFixturesBundle - how to do this

Ich hoffe, dies wird Hilfe, wenn Sie ähnliche Probleme haben.

Verwandte Themen