1

有没有一种简单的方法来计算在 CakePHP 页面上执行的所有查询?

我只需要一个数字,表示从 AppController 开始到页面渲染结束执行了多少查询。

4

1 回答 1

2

这基本上是对 sql_dump 元素的编辑。它位于 lib/cake/view/elements 中。无论如何,这对你来说是一个起点。

$sources = ConnectionManager::sourceList();
$logs = array();
foreach ($sources as $source):
    $db = ConnectionManager::getDataSource($source);
    if (!method_exists($db, 'getLog')):
        continue;
    endif;
    $logs[$source] = $db->getLog();
endforeach;

$queries = 0;
foreach ($logs as $source => $logInfo):
    $queries += $logInfo['count'];
endforeach;
于 2013-01-07T13:41:23.597 回答