Ich möchte den nächsten und vorherigen Datensatz in meiner Datenbank abrufen, dies ist mein erstes Mal mit DQL und ich verstehe nicht wirklich, warum es nicht funktioniert.Symfony DQL Syntaxfehler beim Auswählen des letzten und nächsten Datensatzes
Hier ist, wie meine benutzerdefinierte Abfrage wie folgt aussehen:
$em = $this->getDoctrine()->getManager();
$rsm = new ResultSetMapping();
$rsm->addScalarResult('id', 'id');
$query = $em->createNativeQuery(
'SELECT id
FROM SITEArticlesBundle:Article
WHERE
id = (SELECT id
FROM SITEArticlesBundle:Article
WHERE ? > 2 LIMIT 1)
OR
id = (SELECT id
FROM SITEArticlesBundle:Article
WHERE ? < 2 LIMIT 1)', $rsm);
$query->setParameter(1, $id);
$query->setParameter(2, $id);
$nextAndPrevNews = $query->execute();
Ich möchte Reihe von 2-ID erhalten, wie folgt aus:
[
['id' => 1]
['id' => 3]
]
Aber ich habe eine SQL-Syntaxfehler
SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung für die richtige Syntax zu Ihrer MySQL-Server-Version entspricht in der Nähe zu verwenden ‚: Artikel WHERE id = (id FROM SELECT‘ in Zeile 2
Ich wäre wirklich dankbar, wenn mir jemand helfen könnte
.Dank