echo $ this-> element('sql_dump'); 没有调试和邮件

Age*_*DeO 2 cakephp

在CAKEPHP中,该函数$this->element('sql_dump')在屏幕上打印执行的sql查询. $this->element('sql_dump')仅适用于debug mode = 2

这工作正常,但我希望以下工作:

  • 调试模式必须为0
  • 我不想echo在屏幕上进行sql转储,而是将其邮寄给自己
  • 这必须通过点击按钮发送(发送错误报告)

这可能吗,怎么样?

谢谢你的帮助

Law*_*nti 6

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

在你的控制器中:

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