Подтвердить что ты не робот

Доктрина 2 - 2 десятичных знака на поплавке?

Аннотация:

/**
 * @ORM\Column(type="float", scale="2")
 */
protected $curr_price;

Я использую его с Symfony 2.

И это поле становится двойным в базе данных MySQL вместо float с 2-точечной точностью.

Что я делаю неправильно? Я попытался удалить БД, повторное вставку и т.д.

4b9b3361

Ответ 1

Оба свойства precision и scale работают только с типом отображения decimal (ссылка). Я предлагаю вам использовать тип decimal.

Что касается того, почему он создает двойное поле вместо float, я не совсем уверен. Вероятно, это связано с совместимостью со всеми поддерживаемыми базами данных. Я не вижу упоминания типа отображения double, поэтому я предполагаю, что они используют один и тот же тип для обоих.

Ответ 2

в *.yml

curr_price:
    type: decimal
    precision: 10
    scale: 2

Ответ 3

/**
 * @ORM\Column(type="float", scale=2)
 */
protected $curr_price;
Шкала

должна быть целым числом, и вы используете строку