У меня есть следующие настройки
Entity/User
---------------
/**
* @ORM\ManyToMany(targetEntity="App\Entity\UserGroup", mappedBy="users")
*/
private $userGroups;
Entity/UserGroup
---------------
/**
* @ORM\ManyToMany(targetEntity="App\Entity\User", inversedBy="userGroups")
*/
private $users;
, как вы можете видеть, у меня manyTomany
двунаправленное отношение,
- пользователь принадлежит к нескольким группам
- aВ группе может быть несколько пользователей
, когда я сериализирую связь (для обслуживания запроса API),
Я получаю глубоко вложенный объект json
$groups = $this->entityManager
->getRepository(UserGroup::class)
->findAll();
$normalizer = new ObjectNormalizer();
$normalizer->setCircularReferenceLimit(1);
$normalizer->setCircularReferenceHandler(function ($object) {
return $object->getId();
});
$encoder = new JsonEncoder();
$serializer = new Serializer(array($normalizer), array($encoder));
$groups = $serializer->serialize($groups, 'json');
return View::create(json_decode($groups, true), Response::HTTP_OK);
output
Как это исправить?