基于Ajax请求的CakePhp 2.x打印sql查询

基于Ajax请求的CakePhp 2.x打印sql查询,php,ajax,cakephp,cakephp-2.x,Php,Ajax,Cakephp,Cakephp 2.x,我试图在Ajax请求上打印mysql查询,但它没有显示出来 我的查看页面 单击搜索按钮将调用一个Ajax函数 Ajax.js $(document).ready(function(){ function random_number() { return Math.floor(Math.random() * 255); } $("#btningSrch").click(function(){ $("#rpts").html("<img src='https://xx.xx

我试图在Ajax请求上打印mysql查询,但它没有显示出来

我的查看页面

单击搜索按钮将调用一个Ajax函数

Ajax.js

$(document).ready(function(){

function random_number()
{
    return Math.floor(Math.random() * 255);
}
$("#btningSrch").click(function(){
    $("#rpts").html("<img src='https://xx.xx.xx.xx/project/img/ajaxLoader1.gif' />");
    alert("hi");
    $.ajax({
           type: "GET",
           url: "https://xx.xx.xx.xx/project/controller/view/"+random_number(),
           data: "startDate="+$("#startDate").val()+"&type="+$("#type").val()+"&orderby="+$("#orderby").val(),
           dataType: "html",
           success: function(msg){      
                alert(msg);
                $("#rpts").html(msg);
           }
         });
    return false;
  });
});
Model.php

$rs = $this->find('all', array('joins' => array(array(
    'table' => 'InOutTrafficSummary',
    'alias' => 'Carriers',
    'type' => 'INNER',
    'conditions' => array(
     'Carriers.CarrierId = '.$useTable.'.FK_IngressCarrierId'))),
    'conditions' => array('InDate' => date("Y-m-d",strtotime("-1 days"))),
    'fields' => array(
'FK_IngressCarrierId,CarrierName,Sum(TotalCalls),Sum(ConnectedCalls),sum(Duration),(Sum(ConnectedCalls)/Sum(TotalCalls))*100,sum(Duration)/Sum(ConnectedCalls),sum(SaleAmount)'),'group' => 'FK_IngressCarrierId','order' => 'sum(Duration) DESC'));

echo $this->element('sql_dump'); exit;
我想打印上面的查询,因为它没有显示任何记录,我假设表单中有错误,所以需要查看整个查询。所有其他事情都正常工作

我是CakePHP的新手

试试这个

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

我在AppModel.php中添加了以下帮助函数

/**
 * Get the last queries
 * Wrapper function
 */
public function getLastQueries() {
    return $this->getDataSource()->getLog(false, false);
}
然后,您可以在show_in_summary()函数中轻松调用它:

debug($this->InOutTrafficSummary->getLastQueries());

我应该把它写在我的模型中还是写在控制器中?你应该在模型调用后把它写在控制器中。您也可以直接在模型中编写它。我还建议您查看一下我放置的
debug($this->getDataSource()->getLog(false,false));退出在my Model函数之后,无法看到打印的查询。您的型号名称是什么?
debug($this->InOutTrafficSummary->getLastQueries());