这是我的控制器。在大多数情况下,它工作得很好,并为我返回一个很好的JSON对象。但在某些实体上,它只是挂在下面所示的线上。在我的实体中,数据的完成情况各不相同,在某个特定字段丢失和序列化不起作用之间似乎没有联系。
而且,我的正常视图工作得很好,它似乎只是序列化器不能正常工作。
有没有其他人对Symfony内置的序列化程序有问题?
编辑:做了一个更深入的研究,看起来我正在使用JMSSerializerBundle。
$em = $this->getDoctrine()->getManager('inertia');
$entity = $em->getRepository('InertiaBundle:Accounts')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Accounts entity.');
}
if($format == 'json') {
// return json array
$serializer = $this->get('serializer');
$data = $serializer->serialize($entity, 'json'); //hangs at this line.
$response = new Response($data);
$response->headers->set('Content-Type', 'application/json');
return $response;
} else {
$deleteForm = $this->createDeleteForm($id);
return $this->render('InertiaBundle:Accounts:show.html.twig', array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
));
}发布于 2017-02-17 19:33:40
我也有一个类似的问题,请求挂在下面这一行:
$serializer = $this->get('serializer');用下面的方法代替它似乎是有效的
$serializer = $this->container->get('serializer');我还不知道Symfony2为什么会这样,但也许比我更有见识的人可以解释。
https://stackoverflow.com/questions/36314757
复制相似问题