2011-01-23 24 views
7

Làm cách nào tôi có thể đếm số truy vấn vào cơ sở dữ liệu trong Doctrine2? Tôi cần điều này chỉ để thống kê và tìm hiểu thêm về cách học thuyết hoạt động, bao nhiêu truy vấn được tạo ra trong các tình huống khác nhau. Nhưng dù sao, làm thế nào để làm điều này?Đếm số truy vấn vào cơ sở dữ liệu trong Doctrine2

Trả lời

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

Chỉ để thêm vào câu trả lời được chấp nhận.

Để làm điều này từ bối cảnh của bộ điều khiển 2.x Symfony:

$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); 

Nhờ bài đăng này: http://vvv.tobiassjosten.net/symfony/logging-doctrine-queries-in-symfony2/

+0

'$ doctrine-> getManger() không làm việc cho me' Có phải vì của thiếu 'a'? –

Các vấn đề liên quan