3

テスト目的で、symfony の propel select によって生成されたクエリを出力したいと考えています。これを行う方法はありますか?sf_debug バーを使用できることはわかっていますが、sf_debug バーがまだロードされていないか、まったくロードされない状況でステートメントを確認する必要がある場合があります。

4

4 に答える 4

4

Timmowにはメソッドがあるのは正しいですが、オブジェクトが文字列として参照されるときに自動的に呼び出されるのCriteria::toString()は魔法のメソッドではありません。_toString()

SQLを表示する場合は、明示的にを呼び出す必要がありますCriteria::toString()

$c = new Criteria();
// HERE: add criteria
// what's it do?
echo $c->toString(); // oh, that's what it does
于 2009-11-03T23:38:24.160 に答える
0

Propel Criteria オブジェクトにはtoStringメソッドがあるため、関心のある基準オブジェクトを単にエコー / var_dump / ファイルに記録できるはずです。

于 2009-11-02T23:04:01.653 に答える
0

また、Jobeet チュートリアルの 6 日目、 Propel によって生成された SQL のデバッグも参考になるかもしれません。デバッグ環境にいる場合は、生のクエリがログ ファイルに出力されます。私は Doctrine を使用しているため、100% 確実ではありません。

于 2009-11-02T23:22:21.960 に答える
0

条件を作成した後、生成された SQL ステートメントを取得します。

    $params= array();
    $resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);
于 2015-05-10T08:27:56.123 に答える