如何查看查询并找到sql语法错误 - Symfony2

时间:2012-09-12 06:16:29

标签: symfony doctrine-orm

我正在使用Symfony2,我收到错误:

[Syntax Error] line 0, col 70: Error: Expected =, <, <=, <>, >, >=, !=, got 'AND' 

当我点击工具栏中的按钮查看查询时,它们表示它们是4,但我只看到其中的3个,并且没有任何内容包含“AND”。我的问题是我可以找到这一行0,col 70,我怎么能看到错误的查询才能修复它?

1 个答案:

答案 0 :(得分:1)

你应该能够根据symfony异常回溯找出错误发生的地方。

要查看在创建查询后刚刚执行了什么SQL,可以在Query对象上使用getSQL()方法。

对于查询构建器:

$sqlString = $qb->methodsToCreateQuery()
   ->getQuery()
   ->getSQL;

或DQL:

$sqlString = $em->createQuery("some DQL query")->getSQL();