symfony kernel.request事件监听器禁用事务

时间:2018-06-23 04:20:32

标签: symfony

我希望日志路由访问过的信息,因此插入一个以mysql为重的内容。 这是我的事件监听器。

   /**
     *
     * @param GetResponseEvent $event
     */
    public function onKernelRequest(GetResponseEvent $event)
    {
       $request = $event->getRequest();

       // Matched route
       $_route  = $request->attributes->get('_route');
       $post = $request->request->all();
       $get = $request->query->all();

       $menu = $doctrine->getRepository('SystemBundle:Menu')->findOneBy([
           'englishName' => $_route
       ]);
       if(empty($menu)){
           $routeName = '未知路由';
       }else{
           $routeName = $menu->getName();
       }
       $systemLog = new SystemLog();
       $systemLog->setAdminId($userId);
       $systemLog->setUsername($username);
       $systemLog->setRoute($_route);
       $systemLog->setRouteName($routeName);
       $systemLog->setUri($request->getUri());
       $systemLog->setGetParameter(json_encode($get));
       $systemLog->setPostParameter(json_encode($post));
       $systemLog->setIp($request->getClientIp());
       $systemLog->setCreateAt(new \DateTime());
       $em->persist($systemLog);
       $em->flush();
    }

当我调试原则时: debug bar shortcut img

哦,天哪,这浪费了我很多时间。 (symfony 3.4.11) 我如何禁用交易。

0 个答案:

没有答案