Как установить десятичную в symfony2

Я пытался просто установить тип поля в десятичное число от 0 до 1, однако независимо от конфигурации, которую я имею, доктрина всегда округляет мой десятичный знак от моего поля формы до ближайшего целого числа.

Моя сущность:

/**
* @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,
))

Моя веточка:

{{ form_row(form.nuetu, {'type': 'number'}) }}

Я также пытался {{ form_row(form.nuetu) }} & без использования assert и без объявления precision или же scale в моей сущности аннотации.

Моя цель — сохранить число в базе данных как (0,3 или 0,8).

Я посмотрел на эти вопросы, но у меня не получилось:

Как правильно определить аннотацию для типа DECIMAL в Doctrine2?

Округлые десятичные дроби в форме редактирования 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

0

Решение

Целое число не является десятичным. Используйте номер как упомянутое ehymel:

->add('nuetu', NumberType::class, array(
'scale' => 1,
'attr' => array(
'min' => 0,
'max' => 1,
'step' => '.1',
),
'label' => 'Lef a nuetu',
'required' => false,
))

Выше должно работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]