是否有一种简单的方法来计算在CakePHP页面上执行的所有查询?
我只需要一个数字,表示从我的AppController开始执行了多少查询到页面渲染的结尾。
答案 0 :(得分: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;