symfony: não podemos ter um campo de entidade oculto?
Estou renderizando um formulário com um campo de entidade no symfony.
Funciona bem quando escolho um campo de entidade regular.
$builder
->add('parent','entity',array(
'class' => 'AppBundle:FoodAnalytics\Recipe',
'attr' => array(
'class' => 'hidden'
)
))
Ele lança o seguinte erro quando escolho -> add ('parent', 'hidden'):
Espera-se que os dados de exibição do formulário sejam do tipo escalar, matriz ou instância de \ ArrayAccess, mas é uma instância da classe AppBundle \ Entity \ FoodAnalytics \ Recipe. Você pode evitar esse erro definindo a opção "data_class" como "AppBundle \ Entity \ FoodAnalytics \ Recipe" ou adicionando um transformador de exibição que transforma uma instância da classe AppBundle \ Entity \ FoodAnalytics \ Recipe em escalar, matriz ou uma instância de \ ArrayAccess. Erro interno do servidor 500 - LogicException
Não podemos ter campos de entidade ocultos ?? Por que não? Sou obrigado a colocar outro campo oculto para recuperar o ID da entidade?
EDIT:
Basicamente, o que estou tentando fazer é hidratar o formulário antes de exibi-lo, mas impedir que o usuário altere um de seus campos (o pai aqui). Isso ocorre porque preciso passar o ID como parâmetro e não posso fazê-lo no URL de ação do formulário.