У меня ошибка
A circular reference has been detected when serializing the object of class "AppBundle\Entity\Match" (configured limit: 1) This is because I try to serialize entity class with references
. Пока я обнаружил, что мне нужно выполнить $ normalizer-> setCircularReferenceLimit (2); Как мне сделать это с помощью SerializerInterface.
Мой код
/**
* @Route("/v2/json/match/{id}", name = "json_single_match")
* @Method("GET")
*/
public function getSingleMatchAction(SerializerInterface $serializer, $id) {
$repo = $this->getDoctrine()->getManager()->getRepository('AppBundle:Match');
$post = $repo->findOneBy(['id' => $id]);
$data = $serializer->serialize(['post' => $post], 'json', ['groups' => ["rest", "matches", "players"]]);
$response = new JsonResponse();
$response->setContent($data);
return $response;
}
get_set_method_normalizer:
class: Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer
public: false
tags: [serializer.normalizer]




Вы можете указать maxDepth в своей сущности с аннотациями, это сработает для вас?
use Symfony\Component\Serializer\Annotation\MaxDepth;
namespace Acme;
class MyObj
{
/**
* @MaxDepth(2)
*/
public $child;
// ...
}