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

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

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 15:25:43305ブラウズ

How to Execute Raw SQL Queries in Doctrine 2?

Doctrine 2 を使用して生の SQL を実行する

Doctrine 2 では、特に次のようなタスクを処理する場合に生の SQL クエリを実行できます。データベーステーブルを切り詰めるか、テストデータで初期化します。これを実現するには、Doctrine Query Language (DQL) を利用して必要なクエリを構築できます。

生の SQL クエリの実行

Doctrine を使用して生の SQL クエリを実行するには2、次の手順に従うことができます:

  1. EntityManager オブジェクト。
  2. EntityManager から基礎となるデータベース接続を取得します。
  3. PDO オブジェクトが提供する準備済みステートメント機能を使用して SQL ステートメントを準備します。
  4. 準備されたステートメントを実行します。 state.

次の例を考えてみましょう。ここでの目標は、生の 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();
}

この例では:

  • $sql 変数には生のデータが含まれています。実行される SQL クエリ。
  • prepare() メソッドは、準備されたステートメントを作成するために使用され、$stmt 変数に保存されます。
  • execute() メソッドは、準備されたステートメントを実行します。
  • fetchAll() メソッドは、結果セット内のすべての行の配列を返します。

以上がDoctrine 2 で生の SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。