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

时间:2013-02-20 14:12:28

标签: cakephp

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

这很好但我希望以下工作:

  • 调试模式必须为0
  • 我不想echo屏幕上的sql转储,而是将其邮寄给自己
  • 点击按钮(发送错误报告)
  • 就会发生这种情况

这可能,怎么样?

谢谢你的帮助

1 个答案:

答案 0 :(得分:6)

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

在您的控制器中:

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