CakePHPのfind()で実行されたSQLを表示する方法
はじめに
CakePHPのORMでは、find
メソッドを使うことでSQLを書くことなくデータベースからデータを取得できます。
SQLを書く必要がないとはいえ、開発中はfind
メソッドによりシステム内部で実行されるSQLを確認したいことも多いと思います。
CakePHPでは、find
メソッドで実行されたSQLを出力するメソッドが用意されています。
SQLの表示方法
sql
メソッド を使うことでSQLを表示することができます。
サンプルコードは以下の通りです。
サンプルコード$query = $this->モデル名->find()->where(['id' => 1])->first(); dd($query->sql()); // sqlメソッド
dd
メソッドは、その場で処理をストップして引数の値を画面に表示するメソッドです。
実行結果は以下のようなイメージとなります。
サンプルコードの実行結果イメージSELECT * FROM `モデル名` WHERE id = 1 LIMIT 1;
sql
メソッドの詳細は公式ドキュメントをご参照ください。