Доктрина 2 - 2 десятичных знака на поплавке?
Аннотация:
/**
* @ORM\Column(type="float", scale="2")
*/
protected $curr_price;
Я использую его с Symfony 2.
И это поле становится двойным в базе данных MySQL вместо float с 2-точечной точностью.
Что я делаю неправильно? Я попытался удалить БД, повторное вставку и т.д.
Ответы
Ответ 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;
Шкала должна быть целым числом, и вы используете строку