Параметр precision атрибута Column
Параметр precision атрибута Column
задаёт общее количество цифр в числе, которое
может храниться в колонке базы данных. Он
используется совместно с параметром scale,
который определяет количество цифр после
запятой. Параметр precision применяется
только к полям типа decimal. Значение
по умолчанию - 10.
Синтаксис
#[Column(type: 'decimal', precision: 10, scale: 2)]
Пример
Давайте создадим сущность Product с полем
price, у которого precision равно
10, а scale равно 2:
<?php
namespace AppEntity;
use DoctrineORMMapping as ORM;
#[ORMEntity]
class Product
{
#[ORMId]
#[ORMGeneratedValue]
#[ORMColumn(type: 'integer')]
private ?int $id = null;
#[ORMColumn(type: 'decimal', precision: 10, scale: 2)]
private string $price;
public function getId(): ?int
{
return $this->id;
}
public function getPrice(): string
{
return $this->price;
}
public function setPrice(string $price): self
{
$this->price = $price;
return $this;
}
}
?>
В этом примере колонка price может хранить
числа с общей длиной до 10 цифр, из
которых 2 цифры отведены под дробную
часть. Например, значение 12345678.90
является корректным.
Пример
Давайте создадим сущность Article с полем
rating, у которого precision равно
5, а scale равно 3:
<?php
namespace AppEntity;
use DoctrineORMMapping as ORM;
#[ORMEntity]
class Article
{
#[ORMId]
#[ORMGeneratedValue]
#[ORMColumn(type: 'integer')]
private ?int $id = null;
#[ORMColumn(type: 'decimal', precision: 5, scale: 3)]
private string $rating;
public function getId(): ?int
{
return $this->id;
}
public function getRating(): string
{
return $this->rating;
}
public function setRating(string $rating): self
{
$this->rating = $rating;
return $this;
}
}
?>
В этом примере колонка rating может хранить
числа с общей длиной до 5 цифр, из
которых 3 цифры отведены под дробную
часть. Например, значение 12.345 является
корректным, а значение 1234.567 - нет,
так как общая длина превышает 5 цифр.