##エレメントのsql_dumpを使う方法
Layout/default.ctpのデフォルト版に書いているやつ。
echo $this->element('sql_dump');
##DataSourceを使う方法
リダイレクトで遷移してしまう場合や、エレメントのsql_dumpを削除してしまっている場合はこちらを使う。
モデルからDataSourceを取得して、getLog()とすると実行されたSQLやそれに付随する情報が取得できる。
$モデル->getDataSource()->getLog();
ちなみに、自分の環境では、sqlを確認するためにデバッグ用でAppModelに以下を定義している。これでモデルからもコントローラーからも簡単にsqlが確認できる。
public function sql(){
$sql = $this->getDataSource()->getLog();
$this->log($sql);
return $sql;
}
ログで確認したい場合は、
$モデル->sql();
画面に出して確認したい場合は、
debug($モデル->sql());
と使う。
エレメントのsql_dumpやdebugkitだと、SQLが全て出て該当のSQLを探すのが面倒だけど、確認したいfind()やsave()のすぐ下に上記を書くと、最後のSQLを見るだけなので便利。