Aby debugować mój kod, chciałbym zobaczyć jawne zapytanie sql, które jest wykonywane.Jak wyświetlić parametry w zapytaniu?
utworzyć kwerendy z createQueryBuilder
, a najbardziej wyraźny rzeczą, jaką osiąga się o zapytanie surowej przy użyciu:
$qb->getQuery()->getSQL();
Problem polega na tym, że zamiast parametrów widzę uchwytów (?
). Znalazłem kilka rozwiązań w Internecie, ale są one dla wersji 1.3 i 1.4, nic dla Symfony-2.
Pomysły? Dzięki!
W rzeczywistości twoje pytanie jest duplikatem tego http://stackoverflow.com/q/2095394/795876. Doctrine używa przygotowanej instrukcji, więc nigdy nie ma "prawdziwego" zapytania SQL po stronie PHP, a Doctrine nie może go wyświetlić. Jednak możesz przeczytać to rozwiązanie http://stackoverflow.com/a/10577703/795876 dla celów debugowania. – fsenart
Ponadto, doktryna 2 ma klasę sqlLogger: http://doctrine-orm.readthedocs.org/en/2.0.x/reference/configuration.html#sql-logger-optional – manix
** fsehat ** - wygląda na to rozwiązanie jest dla Symfony 1.4, nie mogłem znaleźć w całym projekcie ani funkcji 'getSqlQuery', ani' getFlattenedParams' (która jest funkcją, której mi brakuje). ** manix ** - czy masz jakieś wzmianki o więcej dokumentacji, jak korzystać z rejestratora w Symfony 2.x? Wygląda to na dobre rozwiązanie, ale nie znajduję żadnej dobrej dokumentacji. ** Dzięki za oba! ** – guyaloni