РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
147 of 258 menu

Поле bigint

Поле bigint создаёт в базе данных колонку типа BIGINT, которая хранит целые числа диапазоном от -9223372036854775808 до 9223372036854775807. Оно используется, когда значений поля integer не хватает, например для идентификаторов, счётчиков просмотров или больших числовых показателей. Первым параметром передаётся имя поля, вторым - массив опций.

Синтаксис

#[ORM\Column(type: 'bigint', options: [])]

Пример

Давайте создадим сущность Article с полем views типа bigint:

<?php namespace App\Entity; use App\Repository\ArticleRepository; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: ArticleRepository::class)] class Article { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private ?int $id = null; #[ORM\Column(type: 'string', length: 255)] private string $title; #[ORM\Column(type: 'bigint')] private int $views; public function getId(): ?int { return $this->id; } public function getTitle(): string { return $this->title; } public function setTitle(string $title): self { $this->title = $title; return $this; } public function getViews(): int { return $this->views; } public function setViews(int $views): self { $this->views = $views; return $this; } } ?>

Пример

Давайте создадим запись и сохраним большое число в поле views:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_create')] public function create(EntityManagerInterface $em): Response { $article = new Article(); $article->setTitle('article'); $article->setViews(9223372036854775807); $em->persist($article); $em->flush(); return new Response('saved: ' . $article->getViews()); } } ?>

Результат выполнения кода:

"saved: 9223372036854775807"

Пример

Давайте выведем все статьи с их значениями поля views:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/articles', name: 'article_list')] public function list(EntityManagerInterface $em): Response { $res = $em->getRepository(Article::class)->findAll(); $out = []; foreach ($res as $article) { $out[] = $article->getTitle() . ': ' . $article->getViews(); } return new Response(implode(', ', $out)); } } ?>

Результат выполнения кода:

"article: 9223372036854775807"

Смотрите также

  • поле integer,
    которое хранит обычные целые числа
  • поле smallint,
    которое хранит целые числа небольшого размера
  • поле decimal,
    которое хранит числа с фиксированной точностью
  • поле float,
    которое хранит числа с плавающей точкой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить