Jeremy Hicks, vielen Dank für Ihre Erweiterung .Ich wusste nicht, wie ich deine Funktion mit der Lehre verbinden soll, aber endlich finde ich eine Antwort.
$doctrineConfig = $this->em->getConfiguration();
$doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');
Ich brauche FIELD
Funktion zum Ordnen meiner Entitäten, die ich per IN
auswähle Ausdruck. Aber Sie können diese Funktion nur in SELECT, WHERE, BETWEEN
verwenden -Klausel, nicht in ORDER BY
.
Lösung:
$qb
->select("r, field(r.id, " . implode(", ", $ids) . ") as HIDDEN field")
->from("Entities\Round", "r")
->where($qb->expr()->in("r.id", $ids))
->orderBy("field");
Um das Hinzufügen von field
zu vermeiden alias in Ihre Ergebniszeile müssen Sie HIDDEN
einfügen Stichwort. So können Sie Werte in IN
bestellen Ausdruck in Lehre 2.2.