Symfony2 / Doctrine2:捕获QueryException和输出查询

时间:2012-04-09 16:10:46

标签: debugging symfony doctrine-orm

当我的查询出错时,Symfony2抛出的异常在大多数情况下都不是很有用,因为它缺少上下文,即:触发错误的查询:

  

[语法错误]第0行,第74栏:错误:预期=,<,< =,<>,>,> =,!=,得到'd'

有没有办法做这样的事情:

... catch(\Exception $exception){
if(get_class($exception) == 'Doctrine\ORM\Query\QueryException'){
    /* var $exception \Doctrine\ORM\Query\QueryException */
    var_dump($exception->getSqlQuery());
}
...

这会改善调试很多!

1 个答案:

答案 0 :(得分:3)

这应该是内置的学说,因为这个提交https://github.com/doctrine/doctrine2/commit/d05ad996c4c3acfd3a0c8659719dd4752cb84531(在master中提交)。 我想它可能会在学说2.3中发布