2013-02-03 6 views
-1

Possible en double:
Symfony2 & Doctrine: Create custom SQL-QuerySymfony2, la doctrine requête personnalisée

J'ai essayé sur mon projet Symfony2:

$em = $this->getDoctrine()->getEntityManager(); 
$query = $em->createQuery(
     'SELECT v.voiture,o.offre,m.marque 
     FROM FrontOfficeBundle:Voiture v 
     INNER JOIN FrontOfficeBundle:OffreSpecial o on o.voiture_id = v.id 
     INNER JOIN FrontOfficeBundle:Marque m on m.id = v.marque_id' 
    ); 
$result = $query->getResult(); 

et d'obtenir cette erreur:

[Syntax Error] line 0, col 122: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got 'on' 

même la requête SQL est correcte! aide de plz

Répondre

1

Vous n'avez pas besoin de l'option ON pour votre INNER JOIN. Le Doctrine Query Language connaît déjà le mappage de vos associations car vous avez spécifié la classe FrontOfficeBundle:Voiture dans votre requête.

$em = $this->getDoctrine()->getEntityManager(); 
$query = $em->createQuery(
     'SELECT v.voiture,o.offre,m.marque 
     FROM FrontOfficeBundle:Voiture v 
     INNER JOIN v.offreSpecial o 
     INNER JOIN v.marque m' 
    ); 
$result = $query->getResult(); 
Questions connexes