0

我在 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 文件)

任何帮助将不胜感激。

4

1 回答 1

2
$logs->setRoute = $request->get('_route');

应该:

$logs->setRoute($request->get('_route'));

对于 D2,所有访问器都需要是方法。

于 2012-08-07T14:22:49.453 回答