При сериализации объекта обнаружена циклическая ссылка (настроенный предел: 1) - PullRequest
1 голос
/ 09 мая 2020

Я столкнулся с этой ошибкой при запуске этой функции MAJAction с маршрутом:

     MAJ_article:
            path: /Maj_article/{id}/{rate}
            defaults: { _controller: ArticleBundle:Article:MAJ }

функция:

public function MAJAction($id,$rate){
    $em = $this->getDoctrine()->getManager();
    $article= $this->getDoctrine()->getManager()->getRepository('ArticleBundle:Article')->find($id);
    $article->setRating($rate);
    $em->persist($article);
    $em->flush();
    $serializer=new Serializer([new ObjectNormalizer()]);
    $formatted= $serializer->normalize($article);

    if (!$article) {
        return new JsonResponse('There are no articles with the following id: ' . $id);
    }
    return new JsonResponse($formatted);
}

, а ошибка: Обнаружена циклическая ссылка при сериализации объекта класса «Proxies__CG __ \ ArticleBundle \ Entity \ Category» (настроенное ограничение: 1).

я думаю, причина в том, что статья таблицы является матерью категории таблицы

/**
 * @ORM\ManyToOne(targetEntity="ArticleBundle\Entity\Category", inversedBy="Category")
 * @ORM\JoinColumn(name="id_category", referencedColumnName="id_category")
 */
private $category;
...