ホームページ > データベース > mysql チュートリアル > Doctrine 2 を使用して生の SQL クエリを実行するにはどうすればよいですか?

Doctrine 2 を使用して生の SQL クエリを実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-04 15:58:40
オリジナル
331 人が閲覧しました

How to Execute Raw SQL Queries Using Doctrine 2?

Doctrine 2 による生の SQL の実行

Doctrine 2 は、オブジェクト リレーショナル マッピング (ORM) を使用してデータベースと対話する便利な方法を提供します。ただし、生の SQL クエリを直接実行する必要がある状況も考えられます。この記事では、Doctrine 2 を使用して生の SQL を実行する方法を説明します。

データベース テーブルを切り捨て、デフォルトのテスト データで初期化するシナリオを考えてみましょう。これを実現するには、次の生の SQL クエリを実行できます:

TRUNCATE TABLE table_name;
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
ログイン後にコピー

Doctrine 2 では、次の手順を使用して生の SQL クエリを実行できます:

  1. Doctrine エンティティの取得マネージャー:
$em = $this->getDoctrine()->getManager();
ログイン後にコピー
  1. 準備SQL ステートメント:
$sql = "TRUNCATE TABLE table_name";
$stmt = $em->getConnection()->prepare($sql);
ログイン後にコピー
  1. 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート