cakephp(2.7.8)
PHP 5.6
MySQL 5.6
find()で例外発生するので、SQLの中身を確認したいです。
ログを見ようと、app/tmp/logsを確認しましたが、何も出力されていません。
Core.phpの「debug」は2に設定しています。
・app/Config/core.php
PHP
1 Configure::write('debug', 2);
・例外発生時の画面
log
1string(103) "ERR::SQLSTATE[42S22]: Column not found: 1054 Unknown column 'User.id' in 'where clause'" 2array(3) { 3 ["log"]=> 4 array(0) { 5 } 6 ["count"]=> 7 int(0) 8 ["time"]=> 9 NULL 10}
cakephp2系で発行されたSQL文を確認したいを参考にして、
以下のようにcatch側で出力を試みましたが、画面のとおりです。
・該当ソース
PHP
1try 2{ 3 $this->loadModel('User'); 4 $ids = $this->User->find('list', 5 array( 6 'conditions' => $conditions, 7 'fields' => 'user_id' 8 ) 9 ); 10} 11catch(Exception $ex) 12{ 13 14 echo "<pre>"; 15 if (isset($query->queryString)) { 16 var_dump($query->queryString); 17 } 18 19 var_dump('ERR::'.$ex->getMessage()); 20 21 var_dump( $this->User->getDataSource()->getLog() ); 22 23 echo "</pre>"; 24 exit; 25 26 27} 28 29 30
SQLを確認するにはどうすれば良いでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/16 01:40