我希望能够在 error.log 中记录完整的 SQL 查询,特别是在发生 SQL 错误时。我的调试在 core.php 中设置为 2。
输出如下所示:
2013-01-29 19:53:21 Error: SQLSTATE[HY000]: General error: 1364 Field 'street' doesn't have a default value
#0 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(459): PDOStatement->execute(Array)
#1 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(425): DboSource->_execute('INSERT INTO `st...', Array)
#2 D:\xampp\htdocs\my_project\lib\Cake\Model\Datasource\DboSource.php(1007): DboSource->execute('INSERT INTO `st...')
如您所见,SQL 语句只记录了部分,其余的被省略了。
我将 DebugKit 与它结合使用,但即使这样也不会在 DebugKit 窗口中生成完整的 SQL 日志。
我在这里抛出异常并记录 getTraceAsString() 。
任何解决方案将不胜感激。
谢谢你,
m^e