Doktrin 2 bietet eine praktische Möglichkeit, mit einer Datenbank mithilfe von Object Relational Mapping (ORM) zu interagieren. Es kann jedoch Situationen geben, in denen Sie unformatierte SQL-Abfragen direkt ausführen müssen. Dieser Artikel zeigt, wie Sie Roh-SQL mit Doktrin 2 ausführen.
Stellen Sie sich ein Szenario vor, in dem Sie Datenbanktabellen abschneiden und sie mit Standardtestdaten initialisieren möchten. Um dies zu erreichen, können Sie die folgenden unformatierten SQL-Abfragen ausführen:
TRUNCATE TABLE table_name; INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
In Doctrine 2 können Sie unformatierte SQL-Abfragen mit den folgenden Schritten ausführen:
$em = $this->getDoctrine()->getManager();
$sql = "TRUNCATE TABLE table_name"; $stmt = $em->getConnection()->prepare($sql);
$stmt->execute();
Sie können die Ergebnisse der Abfrage auch mithilfe der Methode fetchAll() abrufen :
$results = $stmt->fetchAll();
Der folgende Codeausschnitt veranschaulicht, wie ein Raw ausgeführt wird SQL-Abfrage in Lehre 2:
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(); }
Das obige ist der detaillierte Inhalt vonWie führe ich Raw-SQL-Abfragen mit Doktrin 2 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!