2
ここは私のコントローラです。ほとんどの場合、それはうまく動作し、素晴らしいJSONオブジェクトを返します。しかし、いくつかのエンティティでは、それはちょうど下に示された行にハングアップします。私のエンティティでのデータの完成は異なりますが、特定のフィールドが見つからない場合とシリアル化が機能しない場合があります。Symfony2シリアライザが動作しない場合があります
また、私の通常のビューは完全に動作します。シリアライザ正しく動作しません。
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(),
));
}
エンティティ属性を公開/除外しようとしましたか? http://jmsyst.com/libs/serializer/master/cookbook/exclusion_strategies – sglessard
私の質問を見てくれてありがとう。私はこれに取り組んでから1年ほど経ちました。私はシリアライザを捨てて手動でやったと思う。これは実際には私にとってはこのケースでは優れていました.Jsonレスポンスに表示されないフィールドが必要だったからです。 – chrislebaron