Doktrin 2 menyediakan cara yang mudah untuk berinteraksi dengan pangkalan data menggunakan Pemetaan Hubungan Objek (ORM). Walau bagaimanapun, mungkin terdapat situasi di mana anda perlu melaksanakan pertanyaan SQL mentah secara langsung. Artikel ini menunjukkan cara untuk melaksanakan SQL mentah menggunakan Doktrin 2.
Pertimbangkan senario di mana anda ingin memotong jadual pangkalan data dan memulakannya dengan data ujian lalai. Untuk mencapai ini, anda boleh melaksanakan pertanyaan SQL mentah berikut:
TRUNCATE TABLE table_name; INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
Dalam Doktrin 2, anda boleh melaksanakan pertanyaan SQL mentah menggunakan langkah berikut:
$em = $this->getDoctrine()->getManager();
$sql = "TRUNCATE TABLE table_name"; $stmt = $em->getConnection()->prepare($sql);
$stmt->execute();
Anda juga boleh mendapatkan semula hasil pertanyaan dengan menggunakan kaedah fetchAll() :
$results = $stmt->fetchAll();
Coretan kod berikut menggambarkan cara untuk melaksanakan pertanyaan SQL mentah dalam Doktrin 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(); }
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan SQL Mentah Menggunakan Doktrin 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!