如何在CakePHP中打印查询

时间:2015-08-11 12:43:26

标签: cakephp-2.2

实际上,

我已在 CakePHP 2.2.2

中的 AppController.php 中编写此代码
class AppModel extends Model
{
  function getLastQuery()
  {
      $dbo = $this->getDatasource();
      $logs = $dbo->getLog();
      $lastLog = end($logs['log']);
      return $lastLog['query'];
  }
}

我尝试使用以下代码来打印输出查询

echo $this->AssetModel->getLastQuery(); 
$this->render('sql');

是否有人知道这个问题的解决方案......?

2 个答案:

答案 0 :(得分:1)

我在 CakePHP 2.6.11 中使用它来从浏览器中的模型打印查询

debug($this->YOURMODEL->getDataSource()->getLog(false, false)); exit;

答案 1 :(得分:0)

您好,您可以使用以下行放入您的布局文件

<?php  echo $this->element('sql_dump'); ?>

这将打印当前操作中运行的所有正在运行的查询。

您还可以使用cakephp debugkit插件。