CakePHP - 获取上次查询运行 [英] CakePHP - get last query run

查看:133
本文介绍了CakePHP - 获取上次查询运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想获得最后一次查询CakePHP运行。我不能在core.php打开调试,我不能在本地运行代码。我需要一种方法来获取最后一个sql查询并将其记录到错误日志,而不会影响活动网站。此查询失败,但正在运行。

I want to get the last query CakePHP ran. I can't turn debug on in core.php and I can't run the code locally. I need a way to get the last sql query and log it to the error log without effecting the live site. This query is failing but is being run.

这样的操作非常棒:

$this->log($this->ModelName->lastQuery);

提前感谢。

推荐答案

对于Cake 2.0,查询日志是受保护的,因此这将工作

For Cake 2.0, the query log is protected so this will work

function getLastQuery() {
  $dbo = $this->getDatasource();
  $logs = $dbo->getLog();
  $lastLog = end($logs['log']);
  return $lastLog['query'];
}

这篇关于CakePHP - 获取上次查询运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆