Поле smallint
Поле smallint в Doctrine ORM создаёт
столбец базы данных для хранения небольших
целых чисел. Обычно оно занимает 2 байта и
подходит для значений в диапазоне примерно
от -32768 до 32767. Поле
задаётся через атрибут Column с типом
'smallint' над свойством сущности.
Синтаксис
#[Column(type: 'smallint', options: [])]
Пример
Давайте создадим сущность Article
с полем views типа smallint:
<?php
namespace AppEntity;
use DoctrineORMMapping as ORM;
#[ORMEntity]
#[ORMTable(name: 'articles')]
class Article
{
#[ORMId]
#[ORMGeneratedValue]
#[ORMColumn(type: 'integer')]
private ?int $id = null;
#[ORMColumn(type: 'smallint')]
private ?int $views = null;
public function getId(): ?int
{
return $this->id;
}
public function getViews(): ?int
{
return $this->views;
}
public function setViews(int $views): self
{
$this->views = $views;
return $this;
}
}
?>
Пример
Давайте сохраним значение в поле views
через контроллер:
<?php
namespace AppController;
use AppEntityArticle;
use DoctrineORMEntityManagerInterface;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_create')]
public function create(EntityManagerInterface $em): Response
{
$article = new Article();
$article->setViews(100);
$em->persist($article);
$em->flush();
return new Response('saved');
}
}
?>
Результат выполнения кода:
"saved"