Holen Sie sich Symfony Container in einem EntityRepository

8

Ich habe eine Variable in parameters.ini gesetzt, aber jetzt möchte ich diese Variable von einem EntityRepository abrufen und $this->container ist nicht gesetzt, also kann ich es nicht tun

Wie soll ich zum Container kommen?

Danke:)

    
Marcos García 01.04.2012, 01:25
quelle

5 Antworten

10

Sie sollten $ container nicht im EntityRepository verwenden. Erstellen Sie stattdessen einen Model Manager-Dienst, und injizieren Sie den Container über DI.

    
Tuong Le 01.04.2012, 01:44
quelle
9

Bro, Symphony manchmal oder viele Male ist Kopfschmerzen, hier ist ein hacky Weg, ist nicht die richtige wie die @Tuong Le Antwort, aber ist ein Horror tun viel für nur eine Variable wie war sagt @keyboardSmasher. p>

Am Anfang der Funktion / Methode können Sie Folgendes tun:

%Vor%

Sie können also mit

auf einen Container zugreifen %Vor%

Ich hoffe, das gibt dir Zeit, um im Park spazieren zu gehen =),

    
Felipe Buccioni 30.04.2013 15:49
quelle
5

Wenn Sie versuchen, von der EntityRepository-Klasse auf DBAL zuzugreifen, können Sie $ this- & gt; getEntityManager () - & gt; getConnection () verwenden, um sie zu bekommen.

Beispiel:

%Vor%     
aTTozk 18.04.2012 17:51
quelle
1

Sie können Ihre Variable wie gewohnt vom Controller abrufen und sie an das EntityRepository übergeben, wenn Sie eine benutzerdefinierte Repository-Methode definieren. Zum Beispiel:

%Vor%     
Juan Sosa 01.04.2012 01:48
quelle
1

Wenn Sie dem Dienst nur ein Argument übergeben müssen, können Sie ihn einfach übergeben, ohne einen Manager zu benötigen, wie zum Beispiel:

%Vor%     
nnscr 05.06.2013 14:50
quelle

Tags und Links