CakePHPで実行したSQL文を確認する方法を記載します。
フレームワークで開発を行なっている場合、それぞれ用意されているメソッドを使ってデータを操作するので実際にどのようなSQLが発行されているか確認することがあります。
CakePHPでは下記の方法で実行した時のSQL文をデバックすることが可能です。
SQL文を確認する場合はビューとコントローラー(ビュー以外)のどちらでも確認することができます。
状況に応じて使い分けるといいかと思います。
ビューファイルに下記を記述することで実行されたSQLを出力することができます。
1 |
<?php echo $this->element('sql_dump'); ?> |
ビュー以外でSQL文を確認する場合は下記をクエリの後に記述します。
1 |
$this->モデル名->getDataSource()->getLog(); |
var_dumpで実行されたクエリの内容を確認できます。
1 2 3 4 5 |
// SQL実行 $alldata = $this->User->find('all', $params); // SQL文の確認 var_dump($this->User->getDataSource()->getLog()); |
上記、core.phpのデバッグレベルが2になっていないとSQL文が出力されないので注意してください。
※CakePHPのバージョンによっては違う場合もあります。
今回はCakePHPでSQLを実行した時のSQL文を確認する方法を記載しました。
SQLが複雑になったしまった場合などに活用できると思います。
ホームページに関するお悩みは、仙台のホームページ制作アド・エータイプにお任せください!