我想获取 CakePHP 运行的最后一个查询。我无法在 core.php 中打开调试,也无法在本地运行代码。我需要一种方法来获取最后一个 sql 查询并将其记录到错误日志而不影响实时站点。此查询失败但正在运行。
这样的东西会很棒:
$this->log($this->ModelName->lastQuery);
提前致谢。
最佳答案
对于 Cake 2.0,查询日志受到保护,因此可以正常工作
function getLastQuery() {
$dbo = $this->getDatasource();
$logs = $dbo->getLog();
$lastLog = end($logs['log']);
return $lastLog['query'];
}
https://stackoverflow.com/questions/2521225/