Symfony1 是否有任何方法可以输出由symfony中的推进选择生成的sql?

Symfony1 是否有任何方法可以输出由symfony中的推进选择生成的sql?,symfony1,propel,Symfony1,Propel,为了测试,我想输出symfony spreep select生成的查询。有没有办法做到这一点?我知道我可以使用sf_调试栏,但有时我需要在sf_调试栏尚未加载或根本不打算加载的情况下查看语句。推进条件对象有一个方法,因此,您只需将您感兴趣的criteria对象回显/var_dump/log到一个文件中即可看看Jobeet教程的第6天也可能会有所帮助。如果您在调试环境中,原始查询将输出到日志文件。我使用条令时不是100%确定。Timmow说有一个Criteria::toString()方法是正确的

为了测试,我想输出symfony spreep select生成的查询。有没有办法做到这一点?我知道我可以使用sf_调试栏,但有时我需要在sf_调试栏尚未加载或根本不打算加载的情况下查看语句。

推进条件对象有一个方法,因此,您只需将您感兴趣的criteria对象回显/var_dump/log到一个文件中即可

看看Jobeet教程的第6天也可能会有所帮助。如果您在调试环境中,原始查询将输出到日志文件。我使用条令时不是100%确定。

Timmow说有一个
Criteria::toString()
方法是正确的,但当对象作为字符串引用时,自动调用的不是神奇的
\u toString()
方法

如果要查看SQL,必须显式调用
Criteria::toString()


在构建条件后,您将以这种方式获得生成的SQL语句:

    $params= array();
    $resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);

有趣-它“sorta”工作-我得到了我正在处理的页面的输出:条件:SQL(可能不完整):按ugc_question从ORDER中选择。DESC Params的最后一个_RESPONSE_:另外,上面的代码片段应该是echo$c->toString();//哦(不是$c->getString();)
    $params= array();
    $resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);