En utilisant le Générateur de Requêtes dans Symfony 2
Je suis en train d'utiliser le Générateur de Requêtes dans Symfony2 afin d'obtenir des enregistrements d'une base de données. Je lance le normal requête SQL et retourne les résultats corrects. La requête est
SELECT pg.name, pg.description
FROM pm_patentgroups pg
LEFT JOIN pm_portfolios pp ON pp.id = pg.portfolio_id
Je veux l'utilisation exacte de la requête à l'aide de Doctorine générateur de requêtes dans Symfony2. Ce que j'ai essayé jusqu'à présent est
$repository = $this->getDoctrine()
->getRepository('MunichInnovationGroupBundle:PmPatentgroups');
$query = $repository->createQueryBuilder('pg')
->from('pm_patentgroups', 'pg')
->leftJoin('pg','pm_portfolios','pp','pp.id = pg.portfolio_id')
->getQuery();
$portfolio_groups = $query->getResult();
mais sa me donne l'erreur suivante:
Warning: Missing argument 1 for Doctrine\ORM\objet entityrepository::createQueryBuilder()
Je suis nouveau sur Symfony2 et Doctorine. Pouvez-vous s'il vous plaît dites-moi ce qui ne va pas ici?
Grâce
Vous devez vous connecter pour publier un commentaire.
Il vous manque de l'alias lors de l'utilisation de createQueryBuilder. Puisque vous avez le référentiel vous pouvez déposer la partie et il suffit d'utiliser
Quelque chose comme:
Cela suppose que vous avez vos deux entités correctement liées.
Beaucoup d'exemples dans le D2 manuel. Il suffit de garder à l'esprit que le constructeur de requête fonctionne avec les objets, pas sql.
Et par la manière, votre message d'erreur vient du fait que l'entité référentiel (contrairement à l'entité gestionnaire de l') nécessite un alias.