除了提供有关查询的详细信息的默认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
));
}
}
使用twig(如果不使用twig, 则使用var_dump), dump函数应输出具有以下结构的对象:
玩得开心
评论前必须登录!
注册