Das hat bei mir funktioniert (ich benutze auch FOSUserBundle):
%Vor%Hoffe das hilft jemandem! :)
Ich versuche, einen neuen User Admin von einem Fixture zu erstellen. Ich verwende FOSUserBundle und Symfony2.
%Vor%Ich bekomme immer diesen Fehler:
%Vor%Folgen Sie diesem Abschnitt des Dokumentation.
Der Fehler liegt darin, dass der Container $ momentan nicht definiert ist. Um dies zu beheben, fügen Sie das ContainerAwareInterface zu Ihrer Klassendefinition hinzu.
%Vor%Dies wird Sie jedoch nicht vollständig erreichen, da Sie den Benutzer ohne den UserManager erstellen. Stattdessen sollten Sie die Zeile verwenden, die Sie auskommentiert haben.
Es scheint mir, dass Sie die UserAdmin-Klasse nicht benötigen. Die Admin-Benutzer sollten eine Untergruppe des Benutzers sein, die nur durch die Rollen unterschieden wird, die sie haben.
Sie sollten den UserManager verwenden, um einen Benutzer (nicht UserAdmin) zu erstellen und die Rollen festzulegen. Wenn Sie einen Index aller Admin-Benutzer führen müssen, könnte dies durch eine MySQL-VIEW erreicht werden, oder Sie könnten Ihre eigene benutzerdefinierte "Cache" -Tabelle erstellen und Doctrine-Listener verwenden, um sie bei Bedarf zu aktualisieren.
Diese Frage ist ziemlich alt, also vermute ich, dass Sie die Antwort oder zumindest einen Workaround gefunden haben. Würden Sie das bitte zur Verfügung stellen? Es ist in Ordnung, Ihre eigenen Fragen zu beantworten.