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

Параметр nullable атрибута Column

Параметр nullable атрибута Column указывает, может ли столбец таблицы хранить значение NULL. По умолчанию параметр имеет значение false, то есть столбец обязателен для заполнения. Если передать true, то столбец станет необязательным и будет допускать отсутствие значения.

Синтаксис

#[Column(nullable: true)]

Пример

Давайте создадим сущность Article с обязательным полем title и необязательным полем description:

<?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity] class Article { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column(nullable: false)] private string $title; #[ORM\Column(nullable: true)] private ?string $description = null; public function setTitle(string $title): self { $this->title = $title; return $this; } public function getTitle(): string { return $this->title; } public function setDescription(?string $description): self { $this->description = $description; return $this; } public function getDescription(): ?string { return $this->description; } } ?>

В результате поле title станет обязательным столбцом, а description будет допускать значение NULL.

Пример

Давайте сохраним сущность без описания:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function create(EntityManagerInterface $em): Response { $article = new Article(); $article->setTitle('hello'); $article->setDescription(null); $em->persist($article); $em->flush(); return new Response('article saved'); } } ?>

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

"article saved"

Если же попытаться сохранить сущность без title, то база данных вернёт ошибку, так как столбец title объявлен как nullable: false.

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

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