Как я могу получить количество запросов к базе данных в Doctrine2? Мне это нужно только для статистики и чтобы узнать больше, как работает доктрина, сколько запросов генерируется в разных ситуациях. Но как это сделать?
$stack = new \Doctrine\DBAL\Logging\DebugStack(); $entityManager->getConfiguration()->setSQLLogger($stack); // do stuff var_dump($stack);
Просто чтобы добавить к принятому ответу.
Чтобы сделать это из контекста контроллера Symfony 2.x:
$doctrine = $this->get('doctrine'); $doctrine = $this->getDoctrine(); $em = $doctrine->getConnection(); // $doctrine->getManager() did not work for me // (resulted in $stack->queries being empty array) $stack = new \Doctrine\DBAL\Logging\DebugStack(); $em->getConfiguration()->setSQLLogger($stack); ... // do some queries var_dump($stack->queries);
Благодаря этому сообщению: http://vvv.tobiassjosten.net/symfony/logging-doctrine-queries-in-symfony2/