情况:
$queryBuilder
->addSelect( /* hardlyPredictableSelectString() */ )
->leftjoin ( /* hardlyPredictableJoinString() */ )
->andWhere ( /* hardlyPredictableWhereString() */ )
->getQuery()
->getResult()
我想调试该查询,但很难预测。你知道,如果,否则,添加一些文本,或者不...我不能简单地回显$ string,所以我的问题是:
怎么做那样的东西? $queryString=getQueryString()
?
getDQLParts();不是一个好主意,因为,我想简单地将该字符串复制并粘贴到自定义MySQL管理器。
答案 0 :(得分:3)
在getResult之前使用getSql。
$query = $queryBuilder
->addSelect( /* hardlyPredictableSelectString() */ )
->leftjoin ( /* hardlyPredictableJoinString() */ )
->andWhere ( /* hardlyPredictableWhereString() */ )
->getQuery();
echo $query->getSql();
答案 1 :(得分:0)
您应该使用symfony profiler,其中有Doctrine | Propel选项卡,其中包含已执行的查询列表。