2011-01-23 2 views
7

Doctrine2의 데이터베이스에 대한 쿼리 수는 어떻게 얻을 수 있습니까? 나는 단지 통계를 위해서이 필요하고 교리가 어떻게 작동하는지, 다른 상황에서 얼마나 많은 질의가 생성되었는지 더 알아 내야한다. 하지만 어쨌든, 어떻게해야합니까?Doctrine2의 데이터베이스에 대한 쿼리 수

답변

15
$stack = new \Doctrine\DBAL\Logging\DebugStack(); 
$entityManager->getConfiguration()->setSQLLogger($stack); 
// do stuff 
var_dump($stack); 
2

그냥 허용 대답에 추가하십시오.

심포니 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/

+0

'$ doctrine-> getManger()가 me'를 위해 작동하지 않았다가 있기 때문이다 누락 된 'a'의? –

관련 문제