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