Когда я установил Configure::write('debug', 2);
, ошибка SQL в Cake выводит полный оператор SQL с сообщением об ошибке, например:
Ошибка базы данных
Ошибка: SQLSTATE [42000]: [Microsoft] [Собственный клиент SQL Server 10.0] [SQL Server] Неверный синтаксис рядом с ','.
SQL-запрос: SELECT,
Примечание. Если вы хотите настроить это сообщение об ошибке, создайте app \ View \ Errors \ pdo_error.ctp
Однако, когда я смотрю на ошибку в файле error.log по умолчанию, созданном из-за установки Configure::write('log', true);
, я получаю следующее:
2012-03-07 15:57:53 Ошибка: [PDOException] SQLSTATE [42000]: [Microsoft] [Собственный клиент SQL Server 10.0]
[SQL Server] Неверный синтаксис рядом с ','.
0 C: \ wamp \ www \ lib \ Cake \ Model \ Datasource \ DboSource.php (436): PDOStatement-> execute (Array)
Как я могу заставить CakePHP 2.0 сохранять полный оператор SQL при возникновении ошибки базы данных? Я использую эту регистрацию в производственной среде, поэтому я не могу просто сохранить SQL вручную или оставить отладку 2 включенной.