Heim >Datenbank >MySQL-Tutorial >Wie führe ich Raw-SQL-Abfragen in Lehre 2 aus?

Wie führe ich Raw-SQL-Abfragen in Lehre 2 aus?

Linda Hamilton
Linda HamiltonOriginal
2025-01-03 15:25:43298Durchsuche

How to Execute Raw SQL Queries in Doctrine 2?

Roh-SQL mit Doctrine 2 ausführen

In Doctrine 2 ist es möglich, Raw-SQL-Abfragen auszuführen, insbesondere wenn es um Aufgaben geht wie Datenbanktabellen abschneiden oder mit Testdaten initialisieren. Um dies zu erreichen, kann die Doctrine Query Language (DQL) verwendet werden, um die erforderlichen Abfragen zu erstellen.

Ausführen von Roh-SQL-Abfragen

Um eine Roh-SQL-Abfrage mit Doctrine auszuführen 2 können die folgenden Schritte befolgt werden:

  1. Besorgen Sie sich den EntityManager Objekt.
  2. Rufen Sie die zugrunde liegende Datenbankverbindung vom EntityManager ab.
  3. Bereiten Sie die SQL-Anweisung mithilfe der vorbereiteten Anweisungsfunktion vor, die das PDO-Objekt bietet.
  4. Führen Sie die vorbereitete Anweisung aus.

Beispiel

Bedenken Sie Folgendes Beispiel, bei dem das Ziel darin besteht, maßgebliche Sportaufzeichnungen mithilfe einer Roh-SQL-Abfrage abzurufen:

public function getAuthoritativeSportsRecords()
{
    $sql = "
        SELECT
            name,
            event_type,
            sport_type,
            level
        FROM
            vnn_sport
    ";

    $em = $this->getDoctrine()->getManager();
    $stmt = $em->getConnection()->prepare($sql);
    $stmt->execute();
    return $stmt->fetchAll();
}

In diesem Beispiel:

  • Die Variable $sql enthält die Roh-SQL-Abfrage, die erstellt werden soll ausgeführt.
  • Die Methode Prepare() wird verwendet, um eine vorbereitete Anweisung zu erstellen, die in der Variablen $stmt gespeichert wird.
  • Die Methode Execute() führt die vorbereitete Anweisung aus.
  • Die fetchAll()-Methode gibt ein Array aller Zeilen im Ergebnissatz zurück.

Das obige ist der detaillierte Inhalt vonWie führe ich Raw-SQL-Abfragen in Lehre 2 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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