Cakephp echo$this->;元素(';sql#u dump';);没有调试,在邮件中

Cakephp echo$this->;元素(';sql#u dump';);没有调试,在邮件中,cakephp,Cakephp,在CAKEPHP中,函数$this->element('sql\u dump')在屏幕上打印执行的sql查询。 $this->element('sql\u dump')仅适用于调试模式=2 这可以很好地工作,但我希望以下各项能够工作: 调试模式必须为0 我不想echo屏幕上的sql转储,而是将其发送给我自己 这必须通过单击按钮(发送错误报告)来实现 这可能吗,怎么可能 感谢您的帮助获取调试信息当调试模式为0时,您必须在执行查询之前操作数据源 在控制器中: $db = $this->My

在CAKEPHP中,函数
$this->element('sql\u dump')
在屏幕上打印执行的sql查询。
$this->element('sql\u dump')
仅适用于
调试模式=2

这可以很好地工作,但我希望以下各项能够工作:

  • 调试模式必须为0
  • 我不想
    echo
    屏幕上的sql转储,而是将其发送给我自己
  • 这必须通过单击按钮(发送错误报告)来实现
这可能吗,怎么可能


感谢您的帮助

获取调试信息当调试模式为0时,您必须在执行查询之前操作数据源

在控制器中:

$db = $this->MyModel->getDataSource();
$db->fullDebug = true;
$this->MyModel->find(...);
$log = $db->getLog();
$db->fullDebug = false;
// email yourself the log

如果debug=0,则不会记录AFAIK(出于性能原因)。因此,如果不破解内核,在实时环境中似乎不可能做到这一点。(实际的sql_转储元素-供感兴趣的人使用)