1

通常、sql-dump をチェックして検索操作をチェックします。ただし、クエリ操作が ajax を介して行われた場合は不可能です。CakePhp がバックグラウンドで実行した検索操作と、それを pr() で出力する方法を確認するにはどうすればよいですか?

4

2 に答える 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 に答える