mysql - CakePHP - 获取最后一个查询运行

我想获取 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/

相关文章:

mysql - 删除时间戳早于 x 天的所有行

sql - MySQL为每一行自动存储日期时间

mysql - 导入 CSV 以仅更新表中的一列

mysql - 如何从 windows 命令提示符连接到 mysql 命令行

mysql - 让 MySQL 用户创建数据库,但只允许访问他们自己的数据库

java - 无法让spring boot自动创建数据库模式

sql - SQL UPDATE中的str_replace?

python - 如何在 Python 中使用列名检索 SQL 结果列值?

mysql - 如何选择几个硬编码的 SQL 行?

c# - 在 Microsoft Visual Studio 2013 的 WinForms 中启用