0

私はvtigerのカスタマイズに取り組んでいます。

UI を変更しましたが、mysql クエリが実行される場所を知りたいです。

すべてのクエリを実行するための共通関数はありますか?

すべてのページで呼び出す1つの関数を取得しました$this->database->Execute($sql);

クエリの正確な機能やフローのしくみを誰か教えてください。

前もって感謝します

4

1 に答える 1

0

vtiger のクエリはさまざまなパスを通過する場合がありますが、mysql を使用する場合、すべての最後の場所は次のとおりです。

{Vtiger のパス}\adodb\drivers\adodb-mysql.inc.php

    function _query($sql,$inputarr)

すべてのクエリをログに記録することもできます

    function _query($sql,$inputarr)
{
    $hl = fopen("my_log.sql","a+");
    fwrite($hl, "--------"."\n".$sql."\n");
    fclose($hl);        
    return mysql_query($sql,$this->_connectionID);
}

my_log.sql は vtiger ルート ディレクトリに作成されます。また、vtiger には独自のログがありますが、私は私のほうが好みです。

言及する別のポイント:

主に vtiger は pquery という名前の組み込み関数を使用します。それを理解するために、この機能を実行しないことをお勧めします。ほとんどの場合、呼び出された pquery 関数のチェーンには 3 つ以上のメンバーがあります。しかし、クエリがどのように行われるかを調べる価値があると思います。pquery が仕事をする入力を書くだけです!

于 2013-04-13T15:59:46.447 に答える