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
Wenn alles scheitert, du kannst immer Sie verwenden die Standard-Doctrine-Syntax (geben Sie einen vollständigen Namespace der Entity anstelle des Alias ein). –