2

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

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

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

这可能吗,怎么做?

谢谢你的帮助

4

1 回答 1

6

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

在您的控制器中:

$db = $this->MyModel->getDataSource();
$db->fullDebug = true;
$this->MyModel->find(...);
$log = $db->getLog();
$db->fullDebug = false;
// email yourself the log
于 2013-02-20T14:38:36.343 回答