我想输出由symfony propel select生成的查询以进行测试。有没有办法做到这一点?我知道我可以使用sf_debug栏,但有时我需要在sf_debug栏尚未加载或根本不加载的情况下看到该语句。
答案 0 :(得分: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
答案 1 :(得分:0)
Propel Criteria对象有一个toString方法,因此您应该只需将/ var_dump / log回显到您感兴趣的条件对象的文件
答案 2 :(得分:0)
查看Jobeet教程的第6天Debugging Propel generated SQL可能也会有所帮助。如果您在调试环境中,则将原始查询输出到日志文件。因为我使用Doctrine,所以不是100%肯定。
答案 3 :(得分:0)
在构建条件之后,您将获得生成的SQL语句:
$params= array();
$resulting_sql_statement = BasePeer::createSelectSql($criteria,$params);