Помимо стандартных устройств Symfony devtools, которые предоставляют подробную информацию о ваших запросах, вы можете получить эту информацию, чтобы показать ее своим пользователям. Внутри пользовательского объекта DebugStack вы найдете информацию, такую как время в миллисекундах, которое потребовало выполнения запроса, сам запрос SQL и некоторые другие параметры.
Чтобы получить эту информацию, вам нужно включить SQLLogger в конфигурацию доктрины ваших контроллеров:
class myController extends Controller
{
public function indexAction()
{
// Start setup logger
$doctrine = $this->getDoctrine();
$doctrineConnection = $doctrine->getConnection();
$stack = new \Doctrine\DBAL\Logging\DebugStack();
$doctrineConnection->getConfiguration()->setSQLLogger($stack);
$em = $doctrine->getManager();
// End setup logger
/**
* Execute here all your queries
* $em->getRepository(...)->find(...)
*/
return $this->render('somebundle:myBundle:index.html.twig',array(
'stack' => $stack
));
}
}
Используя веточку (или var_dump
если вы не используете веточку) функция dump должна вывести объект со следующей структурой:
Повеселись