如何检索find或read中使用的cakephp查询
通常我们通过检查sql转储来检查查找操作。但如果查询操作是通过ajax完成的,这是不可能的。我们如何检查cakePhp在backgoround中执行的任何查找操作以及在pr()中打印它的任何方式?如果在控制器代码中提供如何检索find或read中使用的cakephp查询,cakephp,Cakephp,通常我们通过检查sql转储来检查查找操作。但如果查询操作是通过ajax完成的,这是不可能的。我们如何检查cakePhp在backgoround中执行的任何查找操作以及在pr()中打印它的任何方式?如果在控制器代码中提供$this->layout='ajax',则它不会显示查询。因此,如果您想查看查询,只需将布局设置为正常布局(仅用于测试)并检查查询,然后还原代码。因此,要查找查询,必须遵循以下步骤 1-现在转到cake文件夹并找到此路径cake\libs\model\datasources\db
$this->layout='ajax'
,则它不会显示查询。因此,如果您想查看查询,只需将布局设置为正常布局(仅用于测试)并检查查询,然后还原代码。因此,要查找查询,必须遵循以下步骤
1-现在转到cake文件夹并找到此路径cake\libs\model\datasources\dbo\dbo\u mysql.php
2-查找函数\u执行。这个函数负责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中查看查询
注意:最后显示的查询将是您的desire query before die是否有其他打印查询的方法?