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

Поле guid

Поле guid создаёт в базе данных колонку типа GUID (глобально уникальный идентификатор). Оно используется для хранения значений, уникальных в пределах всей системы, а не только одной таблицы. Первым параметром передаётся имя поля, вторым - массив опций.

Синтаксис

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

Пример

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

<?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity] class Article { #[ORM\Id] #[ORM\Column(type: 'guid')] private string $id; #[ORM\Column(type: 'string', length: 255)] private string $title; public function getId(): string { return $this->id; } public function setId(string $id): void { $this->id = $id; } public function getTitle(): string { return $this->title; } public function setTitle(string $title): void { $this->title = $title; } } ?>

Пример

Давайте сохраним сущность с полем guid через EntityManager:

<?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; use Symfony\Component\Uid\Guid; class ArticleController extends AbstractController { #[Route('/article', name: 'article_create')] public function create(EntityManagerInterface $em): Response { $article = new Article(); $article->setId(Guid::v4()->toRfc4122()); $article->setTitle('hello'); $em->persist($article); $em->flush(); return new Response($article->getId()); } } ?>

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

"9d8f6a1c-3b4e-4f2a-8c7d-1e5f9a2b3c4d"

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

  • поле uuid,
    которое хранит универсальный уникальный идентификатор
  • поле ulid,
    которое хранит лексикографически сортируемый идентификатор
  • параметр nullable,
    который разрешает значение NULL в колонке
  • параметр unique,
    который задаёт уникальность значений поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить