通常我们通过检查sql-dump来检查查找操作。但是,如果通过ajax完成查询操作则不可能。我们怎样才能检查任何找到的操作whick cakePhp在backgoround中完成并以任何方式在pr()中打印它?
答案 0 :(得分:0)
如果你在控制器代码中给$this->layout='ajax'
,那么就不会显示查询。所以如果要查看查询,只需将布局设置为正常布局(仅用于测试)并检查查询然后还原代码。
答案 1 :(得分:0)
因此,要查找查询,您必须执行以下步骤
1-现在转到cake文件夹并找到此路径 cake \ libs \ model \ datasources \ dbo \ dbo_mysql.php
2-找到函数 _execute 。该函数负责cakephp从其函数执行的所有查询。
3-调试$ sql变量,如
function _execute($sql) {
echo $sql;
return mysql_query($sql, $this->connection);
}
4-在cakephp后台检索功能之后死掉代码。喜欢
$referral = $this->find('first', array(
'conditions' => array('Referral.id' => $id)
));
die();
5-如果这是ajax调用,你可以在firebug中查看查询。
注意:最后显示的查询将是您希望查询之前