Heim >Datenbank >MySQL-Tutorial >Wie verwende ich die MySQL-FELD-Funktion mit Lehre 2?
Verwendung der FIELD-Funktion von Doctrine 2 in Order By
Doctrine 2 unterstützt die MySQL-FELD-Funktion nicht nativ. Es ist jedoch eine Erweiterung verfügbar, die diese Funktionalität hinzufügt.
Verwenden der DoctrineExtension
Um die FIELD-Funktion in Doctrine 2 zu verwenden, können Sie das DoctrineExtensions-Paket installieren. Nach der Installation müssen Sie die folgende Konfiguration zu Ihrer Doctrine-Konfiguration hinzufügen:
<code class="php">$doctrineConfig = $this->em->getConfiguration(); $doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');</code>
Nachdem Sie diese Konfiguration hinzugefügt haben, können Sie die FELD-Funktion in Ihren Doctrine-Abfragen verwenden.
Beispiel
Das folgende Beispiel zeigt, wie Sie die FELD-Funktion verwenden, um eine Abfrage nach einer Reihe von Werten zu ordnen:
<code class="php">$qb = $em->createQueryBuilder(); $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>
Diese Abfrage gibt die nach dem FELD-Wert geordneten Ergebnisse zurück. Dies ist 1 für den ersten Wert im $ids-Array, 2 für den zweiten Wert und so weiter.
Hinweis:
Die FELD-Funktion kann nur sein Wird in SELECT-, WHERE- und BETWEEN-Klauseln verwendet. Es kann nicht in ORDER BY-Klauseln verwendet werden. Um diese Einschränkung zu umgehen, verwendet das obige Beispiel ein ausgeblendetes Feld, um den FIELD-Wert zu speichern.
Das obige ist der detaillierte Inhalt vonWie verwende ich die MySQL-FELD-Funktion mit Lehre 2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!