我在 Symfony 2.0 中创建服务时遇到了几个问题,但我找到了除服务设置空数据之外的所有问题的解决方法。
public function logAction($request, $entityManager)
{
$logs = new Logs();
$logs->setRoute = $request->get('_route');
$logs->setController = $request->get('_controller');
$logs->setRequest = json_encode($request->attributes->all());
$logs->setPath = $request->server->get('PATH_INFO');
$logs->setIp = $request->server->get('REMOTE_ADDR');
$em = $entityManager;
$em->persist($logs);
$em->flush();
}
我在另一个控制器中调用服务时传递了 EntityManager,我将发布该代码以防万一:
public function pageAction($id = null, Request $request)
{
$log = $this->get('logging');
$log->logAction($request, $this->getDoctrine()->getEntityManager());
return $this->render('AcmeDemoBundle:Demo:viewPage.html.twig', array('name' => $id));
}
我按照官方文档(在日志包中)创建了一个 services.yml 文件,并插入了一个实际行,但所有字段都设置为 NULL。如果我尝试在实体文件中的一个二传手中做一个死,它不会死,所以似乎有些东西没有成功。(在有人询问之前,我在日志服务文件的顶部同时使用了 EntityManager 和 Entity 文件)
任何帮助将不胜感激。