Я передаю форму с полем сущности в symfony.
Он работает хорошо, когда я выбираю регулярное поле объекта.
$builder
->add('parent','entity',array(
'class' => 'AppBundle:FoodAnalytics\Recipe',
'attr' => array(
'class' => 'hidden'
)
))
Он выдает следующую ошибку при выборе → add ('parent', 'hidden'):
Ожидается, что данные вида формы будут иметь тип скаляр, массив или экземпляр \ArrayAccess, но это экземпляр класса AppBundle\Entity\FoodAnalytics\Recipe. Вы можете избежать этой ошибки, установив опцию "data_class" в "AppBundle\Entity\FoodAnalytics\Recipe" или добавив трансформатор представлений, который преобразует экземпляр класса AppBundle\Entity\FoodAnalytics\Recipe в скаляр, массив или экземпляр \ArrayAccess. 500 Внутренняя ошибка сервера - LogicException
Не можем ли мы иметь скрытые поля объектов? Почему нет? Должен ли я поместить другое скрытое поле для получения идентификатора объекта?
РЕДАКТИРОВАТЬ:
В основном то, что я пытаюсь сделать, это гидратировать форму перед ее отображением, но не позволяет пользователю изменять одно из своих полей (здесь родительский). Это потому, что мне нужно передать идентификатор в качестве параметра, и я не могу это сделать в URL-адресе формы.