У меня есть сущности, приложения и голоса.Symfony2 Form, почему моя форма возвращает предупреждение: json_encode(): обнаружена рекурсия?
Идея состоит в том, чтобы связать многих с одним. Таким образом, приложения имеют много голосов и один голос для одного приложения.
В моем классе сущностей у меня есть такие настройки, как это:
Применение Entity Класс:
\/**
\* @ORM\OneToMany(targetEntity="Vote", mappedBy="application")
\*/
\private $votes;
Голосовать Entity Класс:
\/**
\* @ORM\ManyToOne(targetEntity="Application", inversedBy="votes")
\* @ORM\JoinColumn(referencedColumnName="id")
\*/
\private $application;
Я думаю, что это соотношение устанавливается хорошо или я Я ошибаюсь?
Следующая вещь, что у меня есть класс формы строитель только одно поле:
$builder->add('rate')
->add('save', 'submit');
голосов организация имеет поля: (id, username, rate, createdAt, updatedAt, application)
и в моем контроллере я делаю что-то вроде этого:
$vote = new Vote();
$form = $this->createForm(new VoteType(), $vote);
$form->handleRequest($this->getRequest());
if ($form->isValid()) {
$vote->setUserName($tenant->getUsername());
$vote->setApplication($app);
$em->persist($vote);
$em->flush();
$this->get('session')->getFlashBag()->add('success', 'Oceniono aplikację.');
return $this->redirect($this->generateUrl('applications_main'));
}
return array('form' => $form->createView(),);
и он не работает, он возвращает мне ошибку:
ContextErrorException: Warning: json_encode(): recursion detected in E:\wamp\www\project\vendor\symfony\symfony\src\Symfony\Component\HttpFoundation\JsonResponse.php line 92
трассировка стеки (обычный текст): http://pastebin.com/bSQTDJQY
Это не похоже на отношение. Почему вызывается json_encode? вы кодируете свой ответ? – Flosculus
nope то, что вы видите, почти полный метод контроллера im только создавая $ app до еще – Vardius
'E: \ wamp \ www \ project \ src \ project \ ApiBundle \ EventListener \ ViewListener.php строка 49' ваша проблема лежит внутри. – Flosculus