フィールド型を0と1の間の小数点に設定しようとしていますが、構成にかかわらず、doctrineはフォームフィールドから小数点を常に最も近い整数に丸めます。symfony2で小数点を設定する方法
マイエンティティ:
/**
* @var integer
*
* @Assert\Range(
* min=0,
* max=1,
* minMessage = "this must be greater than or equal to 0.",
* maxMessage = "this must be less than or equal to 1."
*)
* @ORM\Column(name="nuetu", type="decimal", precision=2, scale=1, nullable=true)
*/
private $nuetu;
マイフィールドタイプ:
->add('nuetu', 'integer', array(
'scale' => 1,
'attr' => array(
'min' => 0,
'max' => 1,
'step' => '.1',
),
'label' => 'Lef a nuetu',
'required' => false,
))
私の小枝:私もassert
を使用せずにしてprecision
を宣言せずに、または{{ form_row(form.nuetu) }}
&を試してみた
{{ form_row(form.nuetu, {'type': 'number'}) }}
scale
私のエンティティ注釈で。
私の目標は、数値を(0.3または0.8)としてデータベースに保存することです。
私はこれらの質問を見てきましたが、私は成功していない:
What is the right way to define annotation for DECIMAL type in Doctrine2
Rounded decimal in edit form Symfony2 + Doctrine2
http://symfony.com/doc/2.7/reference/forms/types/integer.html
http://symfony.com/doc/2.7/reference/forms/types/number.html#scale
あなたのフィールドタイプは整数型を指定しています。 'number'型に変更する必要があります。 – ehymel