有没有一种简单的方法来计算在 CakePHP 页面上执行的所有查询?
我只需要一个数字,表示从 AppController 开始到页面渲染结束执行了多少查询。
有没有一种简单的方法来计算在 CakePHP 页面上执行的所有查询?
我只需要一个数字,表示从 AppController 开始到页面渲染结束执行了多少查询。
这基本上是对 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;