PHP でオブジェクト リレーショナル マッピングに Doctrine を使用する場合、実際の SQL クエリを検査したい状況に遭遇することがあります。実行前に生成されます。ただし、Doctrine のデフォルトの動作では、変数値のプレースホルダーとして疑問符 (?) が含まれる準備済みステートメントのみが返されます。
準備済みステートメントを取得するには、クエリ オブジェクトで getSQLQuery() メソッドを呼び出すだけです。
<code class="php">$q = Doctrine_Query::create() ->select('id') ->from('MyTable'); $preparedStatement = $q->getSQLQuery();</code>
Doctrine は、他の ORM フレームワークと同様に、"実際の SQL クエリ」を PHP 側で実行します。代わりに、ステートメントを準備し、関連するパラメータとともにデータベースに送信します。したがって、Doctrine では単一の完全な SQL クエリが利用できることはありません。
クエリで問題が発生し、準備されたステートメントが原因である可能性があると思われる場合は、次のことができます。以下を試してください:
以上がDoctrine から完全な SQL クエリを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。