내 코드를 디버깅하기 위해 실행되는 명시 적 SQL 쿼리를보고 싶습니다.쿼리의 매개 변수를 보려면 어떻게합니까?
나는 createQueryBuilder
와 쿼리를 작성하고 내가 달성 가장 명백한 것은 사용하여 원시 쿼리를 가지고있다 :
$qb->getQuery()->getSQL();
문제는 대신 매개 변수의 내가 홀더 (?
)를 참조한다는 것입니다. 웹상에서 몇 가지 솔루션을 발견했지만 Symfony-2에는 1.3 및 1.4, 아무것도 사용하지 않았습니다.
아이디어가 있으십니까? 감사!
사실, 귀하의 질문은이 설명서의 복제본입니다. http://stackoverflow.com/q/2095394/795876. Doctrine은 prepared statement를 사용하고 있으므로 PHP 측에서 결코 "진짜"SQL 쿼리가 존재하지 않으며 Doctrine은이를 표시 할 수 없습니다. 그러나 디버깅을 위해이 솔루션 http://stackoverflow.com/a/10577703/795876을 읽을 수 있습니다. – fsenart
또한 doctrine 2에는 sqlLogger 클래스가 있습니다. http://doctrine-orm.readthedocs.org/en/2.0.x/reference/configuration.html#sql-logger-optional – manix
** fsehat ** -이 솔루션처럼 보입니다. Symfony 1.4에서, 나는 전체 프로젝트에서'getSqlQuery' 함수 나'getFlattenedParams' (내가 누락 된 함수)를 찾을 수 없었다. ** manix ** - Symfony 2.x에서 로거를 사용하는 방법에 대한 추가 문서가 있습니까? 좋은 해결책 인 것 같지만 좋은 문서는 찾을 수 없습니다. ** 둘 다 주셔서 감사합니다! ** – guyaloni