在CAKEPHP中,函數$this->element('sql_dump')
將在屏幕上打印執行的sql查詢。 $this->element('sql_dump')
僅適用於debug mode = 2
這工作得很好,但我想下面的工作:
- 調試模式必須是0
- 我不想
echo
屏幕上的SQL轉儲但其郵寄給自己 - 這與上一個按鈕,點擊發生(發送錯誤報告)
這是可能的,怎麼樣?
感謝您幫助
在CAKEPHP中,函數$this->element('sql_dump')
將在屏幕上打印執行的sql查詢。 $this->element('sql_dump')
僅適用於debug mode = 2
這工作得很好,但我想下面的工作:
echo
屏幕上的SQL轉儲但其郵寄給自己這是可能的,怎麼樣?
感謝您幫助
爲了得到調試信息當調試模式是你有執行查詢之前,操作數據源0。
在你的控制器:
$db = $this->MyModel->getDataSource();
$db->fullDebug = true;
$this->MyModel->find(...);
$log = $db->getLog();
$db->fullDebug = false;
// email yourself the log
感謝這對我有用! – 2014-01-16 04:24:48
好方法!這工作! – Phuong 2016-12-08 09:59:47
使用調試= 0,沒有日誌記錄AFAIK(由於性能原因)。所以這似乎是不可能在現實環境中進行而不會破壞核心。 – mark 2013-02-20 14:21:19
https://github.com/cakephp/cakephp/blob/master/lib/Cake/View/Elements/sql_dump.ctp(實際的sql_dump元素 - 對任何感興趣的人) – Dave 2013-02-20 14:41:55