Symfony 用多个关系序列化原则对象

Symfony 用多个关系序列化原则对象,symfony,doctrine-orm,pagerfanta,Symfony,Doctrine Orm,Pagerfanta,我正试图通过遵循symfony官方文档将对象序列化为json。 我得到了Pagerfanta对象(从存储库中获取它,就像在演示应用程序中一样) 我需要将结果转换为JSON 我试过这个: $books = $bookRepository->findAllIncRel(1); $encoder = array(new JsonEncoder()); $normalizers = array(new ObjectNormalizer()); $normalizers[0]->setCirc

我正试图通过遵循symfony官方文档将对象序列化为json。 我得到了Pagerfanta对象(从存储库中获取它,就像在演示应用程序中一样)

我需要将结果转换为JSON

我试过这个:

$books = $bookRepository->findAllIncRel(1);
$encoder = array(new JsonEncoder());
$normalizers = array(new ObjectNormalizer());
$normalizers[0]->setCircularReferenceLimit(1);
$normalizers[0]->setCircularReferenceHandler(function ($object) {
    return $object->getId();
});
$serializer = new Serializer($normalizers, $encoder);
return new JsonResponse($serializer->serialize($books->getCurrentPageResults(), 'json'));
书的实例结构如下:

-id: ...
-marks: PersistentCollection ...
-authors: PersistentCollection ...
...
但我得到的只是不可修补的500个错误或“超过30秒的最长执行时间” 我不知道这里有什么问题。是否有其他方法序列化PagerFanta对象


致以最良好的祝愿

答案非常简单-我没有使用循环引用处理程序,而是使用了
$normalizer->setIgnoredAttributes(数组(…二级对象的相关字段…)

-id: ...
-marks: PersistentCollection ...
-authors: PersistentCollection ...
...