Não é possível desativar o campo da entidade e manter seu valor

Em um evento de formulário, definindo um campo'attr' => array('readonly' => 'readonly') é renderizado como"disabled" = "1". Este não é o efeito desejado. Um campo de seleção desativado persiste em um valor nulo no envio. Um campo somente leitura deve reter e persistir o valor exibido. Ou assim eu pensei. Então, como obter o valor para permanecer inalterado e imutável?

Editar;

Um campo oculto não funciona.choice_attr também não ajuda.

Estou votando para encerrar esta pergunta. Não descobri nenhum método para exibir um campo de entidade desativado e também reti o valor. Se você tem alguma idéia de como isso é feito ...

Um exemplo (no Symfony 2.8.3): A entidade Doméstica possui seis atributos, cada um dos quais é uma entidade em um relacionamento OneToMany para Doméstica. (O aplicativo possui outras entidades que possuem atributos semelhantes.) A entidade / atributo Habitação da família tem duas propriedades: habitação e habilitado. O cliente do aplicativo pode definir uma propriedade paraenabled = no se eles não pretendem mais rastrear essa propriedade.

Se uma propriedade estiver configurada comoenabled = no sua disponibilidade em um formulário Doméstico novo ou editado é prontamente eliminada pela inclusão de uma cláusula where no construtor de consultas do campo da entidade, por exemplo,->where("h.enabled=1"). No entanto, isso faz com que a propriedade desativada seja configurada comonull. Daí a necessidade de reter o valor de alguma forma.

A solução ideal seria um serviço para esses campos de entidade de atributo que exibissem valores e retivessem se ativado não.

Eu tentei usar um ouvinte de evento, um campo oculto,choice_attr, modificando o modelo de formulário e o tema do formulário sem sucesso. Por exemplo, um campo oculto é texto quando um campo de entidade é obrigatório. Isso não significa que não possa ser feito, apenas que eu não tropecei no método adequado.

questionAnswers(1)

yourAnswerToTheQuestion