Doctrine 2 は、オブジェクト リレーショナル マッピング (ORM) を使用してデータベースと対話する便利な方法を提供します。ただし、生の SQL クエリを直接実行する必要がある状況も考えられます。この記事では、Doctrine 2 を使用して生の SQL を実行する方法を説明します。
データベース テーブルを切り捨て、デフォルトのテスト データで初期化するシナリオを考えてみましょう。これを実現するには、次の生の SQL クエリを実行できます:
TRUNCATE TABLE table_name; INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
Doctrine 2 では、次の手順を使用して生の SQL クエリを実行できます:
$em = $this->getDoctrine()->getManager();
$sql = "TRUNCATE TABLE table_name"; $stmt = $em->getConnection()->prepare($sql);
$stmt->execute();
fetchAll( を使用してクエリの結果を取得することもできます。 ) メソッド:
$results = $stmt->fetchAll();
以下のコードスニペットは、Doctrine 2 で生の SQL クエリを実行する方法を示しています:
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(); }
以上がDoctrine 2 を使用して生の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。