首先,将
debug变量设置为2 in
app/config/config.php。
然后加:
<?php echo $this->element('sql_dump');?>在布局的末尾。实际上,应该在默认的蛋糕布局中将其注释掉。
现在,您将能够看到所有转到数据库的SQL查询。
现在复制查询并在数据库上使用SQL
EXPLAIN命令(MySQL的链接)来查看查询在DBMS中的作用。有关CakePHP调试的更多信息,请参见此处。
由于您的脚本甚至无法渲染,因此您可以尝试直接从数据源获取最新的日志,方法是:
function getLastQuery(){ $dbo = $this->getDatasource(); $logs = $dbo->getLog(); $lastLog = end($logs['log']); return $lastLog['query'];}这需要在模型中,因为
getDatasource()功能是在模型中定义的。检查整个
$logs变量,然后查看其中的内容。



