zuerst, Entschuldigung für schlechtes Englisch!SQL zu QueryBuilder
Ich versuche, diese SQL zu konvertieren (es ist betriebsbereit):
SELECT DISTINCT U.id
FROM User U
INNER JOIN Detail DE on U.id = DE.id_user
INNER JOIN matiere MA on U.id = MA.id_user
WHERE DE.ville = $var1
AND MA.matiere = $var2
in Query Builder. Ich habe versuchen Sie dies:
$query = $repository->createQuerybuilder('U.id')
->from('User', 'U')
->innerJoin('Detail', 'DE', 'WITH', ' U.id = DE.id_user')
->innerJoin('matiere', 'MA', 'WITH', 'U.id = MA.id_user')
->where('DE.ville = :ville')
->setParameter('ville', $ville)
->andWhere('MA.matiere = :matiere')
->setParameter('matiere', $matiere)
->distinct();
aber ich habe diesen Fehler: „[Syntax Error] Zeile 0, Spalte 49: Fehler: '' Erwartetes Ende der Schnur, bekam "
Und wenn ich versuche, diesen:
$query = $repository->createQueryBuilder()
->select('U.id')
->from('User', 'U')
->innerJoin('Detail', 'DE', 'WITH', ' U.id = DE.id_user')
->innerJoin('matiere', 'MA', 'WITH', 'U.id = MA.id_user')
->where('DE.ville = :ville')
->setParameter('ville', $ville)
->andWhere('MA.matiere = :matiere')
->setParameter('matiere', $matiere)
->distinct();
Ich habe diesen Fehler:
Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::createQueryBuilder(),
ich mit Lehre und symfony3 arbeiten.
Vielen Dank für Hilfe.
Ich habe versuchen, Ihre Lösung ist der Fehler gleich sind (Achtung: Fehlende Argument 1 für Lehre \ ORM \ EntityRepository :: createQueryBuilder()) Ich versuche haben zu löschen 'wählen (U.id') und put 'createQuerybuilder (' U..id ');' und der gleiche Fehler ('[Syntax Error] Zeile 0, Spalte 49: Fehler: Erwartete Ende der Zeichenfolge, habe'. '') Ich verstehe nicht, wo das Problem ist ... – jomalix
Sie haben debuggen? Es ist wichtig zu wissen, wie ist die SQL-Abfrage in Ihrer Variablen, es scheint, dass ein Syntaxfehler beim Ausführen der SQL-Abfrage, der Fehler [Erwartete Ende der Zeichenfolge, bekam.Es scheint, dass der lexikalische Analysator Es wartet auf ein Zeichen, um den Zeichenkettensatz zu schließen und ihn richtig auszuführen, oder hat einen Zeichenpunkt [. ] außerhalb der Reihenfolge in der SQL-Zeichenkette, störend läuft richtig und erzeugt den Fehler –