Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie ordne ich Ergebnisse mithilfe der FIELD-Funktion von MySQL in Doctrine 2 an?

Linda Hamilton
Freigeben: 2024-10-30 00:07:02
Original
862 Leute haben es durchsucht

How to Order Results Using MySQL's FIELD Function in Doctrine 2?

Reihenfolge nach MySQL-FELD-Funktion in Doktrin 2

Doktrin 2 unterstützt die MySQL-FELD-Funktion nicht standardmäßig. Um es zu nutzen, können Sie benutzerdefinierte Zeichenfolgenfunktionen nutzen, die von Erweiterungen bereitgestellt werden.

DoctrineExtensions-Lösung:

Die DoctrineExtensions-Bibliothek enthält eine benutzerdefinierte Zeichenfolgenfunktion namens „FIELD“, die das emuliert MySQL FIELD-Funktion. Um dies zu implementieren, fügen Sie die folgende Konfiguration hinzu:

<code class="php">$doctrineConfig = $this->em->getConfiguration();
$doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');</code>
Nach dem Login kopieren

Verwendung:

Die FIELD-Funktion kann in SELECT-, WHERE- und BETWEEN-Klauseln verwendet werden. Obwohl es nicht direkt in ORDER BY verwendet werden kann, besteht eine Problemumgehung darin, ein zusätzliches Feld in der SELECT-Klausel hinzuzufügen und stattdessen nach diesem Feld zu sortieren:

<code class="php">$qb
    ->select("r, field(r.id, " . implode(", ", $ids) . ") as HIDDEN field")
    ->from("Entities\Round", "r")
    ->where($qb->expr()->in("r.id", $ids))
    ->orderBy("field");</code>
Nach dem Login kopieren

Durch die Angabe von HIDDEN in der SELECT-Klausel können Sie vermeiden, dass das In der Ergebniszeile erscheint ein zusätzliches Feld. Dadurch können Sie Werte innerhalb des IN-Ausdrucks mithilfe von Doktrin 2.2.

effizient ordnen

Das obige ist der detaillierte Inhalt vonWie ordne ich Ergebnisse mithilfe der FIELD-Funktion von MySQL in Doctrine 2 an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!