cakephpで特定のアクションのときのSQLログをとる方法

方法

How to debug as in Railsに従って設定
  • app/models/datasources/dbo/dbo_mysql_ex.phpを保存
  • app/config/database.phpにおいて
    • defaultはそのまま
    • var $logQuery=array('driver' => 'mysql_ex',...);
  • app/config/core.php
    • Configure::write('Cake.logQuery', true);
      • 1.2ではcoreではなくapp_controller.phpに書いてみた
特定アクションの時、
  • コントローラー中特定アクションで、$this->setDataSource('logQuery');を使ってDBを切り替えるとSQLログが取れる
  • 特定コントローラー全体のログなら、var $useDbConfug='logQuery';