2012-04-07 4 views
0

Also verwende ich die Bundle-Klasse, um die meisten meiner Arbeit zu tun, da ich keine Controller brauche (src \ CSFs \ QuicklinksBundle \ CSFsQuicklinksBundle.php).Wie greife ich auf ein Repository aus der Bundle-Klasse in symfony2 zu?

Von der FrontController eines anderen Bundle, bekomme ich die Quicklinks Bundle, injizieren Sie das Container-Objekt in die Bundle-Klasse (oben) und dann, innerhalb der Bundle-Klasse, extrahieren Templating HTML zurückgeben, das funktioniert gut. Ich habe jedoch Probleme mit Repositories.

/** 
* Get the container object, so we can use all the symfony2 fun stuffs 
*/ 
public function injectContainer($cont) 
{ 
    // Template 
    $this->tpl = $cont->get('templating'); 

    // EM 
    $this->em = $cont->get('doctrine')->getEntityManager(); 
} 

/** 
* 
**/ 
public function doStuff() 
{ 
    $products = $this->em->getRepository('QuicklinksBundle:Quicklinks') 
       ->getUsersWithQuicklinks(); 
} 

Der Fehler, den ich bekommen ist:

Unknown Entity namespace alias 'QuicklinksBundle'. 

Ich habe sowohl die erzeugte Entity-Datei und eine Repository-Klasse mit dem getUsersWithQuicklinks() -Methode definiert.

Wie kann ich den Entity Manager über meine Repositorys informieren?

Danke,

Mike

+0

Wenn alles scheitert, du kannst immer Sie verwenden die Standard-Doctrine-Syntax (geben Sie einen vollständigen Namespace der Entity anstelle des Alias ​​ein). –

Antwort

1

Wechsel:

$this->em->getRepository('QuicklinksBundle:Quicklinks') 

An:

$this->em->getRepository('CSFsQuicklinksBundle:Quicklinks') 

Und ich nehme an, Sie eine Entität namens haben 'Quicklinks'

+0

Ich kann nicht glauben, dass ich das verpasst habe - danke Cerad. – Mike