Arredondado decimal em forma de edição Symfony2 + Doctrine2
Como faço para definir a precisão decimal e escala dentro da entidade symfony2? Eu defini latitude em campos de longitude usando o tipo de dados decimal em minha entidade assim:
/**
* @ORM\Column(type="decimal", precision="10", scale="6", nullable=true)
*/
protected $latitude;
Quando persistir novo objeto, ele salva decimal corretamente (eu posso ver 52.406374 no phpMyAdmin). No entanto, ao exibir o formulário de edição, o número é arredondado para52,406 e depois de atualizar ele é armazenado no mysql como 52.406000. Provavelmente, algo está errado com minha configuração do Doctrine, mas não sei o quê.
Por que a latitude e a longitude são arredondadas?
Encontrei uma solução:
O componente Form do Symfony renderiza o campo de formulário decimal como type = "text". Ao usar:
->add('latitude', 'number', array(
'precision' => 6,
))
É processado corretamente. O encadeamento do comentário não descreve meu problema. Eu acho que eles já corrigiram o bug com precisão de 'converter para flutuar'. Quando eu estava exibindo latitude no modelo de galho, estava mostrando um valor adequado (não arredondado).