通常、sql-dump をチェックして検索操作をチェックします。ただし、クエリ操作が ajax を介して行われた場合は不可能です。CakePhp がバックグラウンドで実行した検索操作と、それを pr() で出力する方法を確認するにはどうすればよいですか?
質問する
1064 次
2 に答える
0
コントローラコードを$this->layout='ajax'
指定すると、クエリは表示されません。したがって、クエリを表示する場合は、レイアウトを通常のレイアウト(テストのみ)に設定し、クエリを確認してから、コードを元に戻します。
于 2012-05-21T05:36:03.570 に答える
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 でクエリを表示できます。
注:最後に表示されたクエリは、死ぬ前にあなたの欲望のクエリになります
于 2012-05-21T10:12:49.860 に答える