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

Атрибут Table

Атрибут Table вешается на класс Doctrine-сущности и задаёт имя таблицы в базе данных. Первым параметром передаётся имя таблицы. Без этого атрибута Doctrine формирует имя таблицы автоматически из имени класса.

Синтаксис

#[Table(name: table_name)]

Пример

Давайте создадим сущность Article и укажем для неё таблицу 'articles':

<?php namespace AppEntity; use DoctrineORMMapping as ORM; #[ORMEntity] #[ORMTable(name: 'articles')] class Article { #[ORMId] #[ORMGeneratedValue] #[ORMColumn(type: 'integer')] private ?int $id = null; #[ORMColumn(type: 'string', length: 255)] private string $title; 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; } } ?>

Теперь Doctrine будет хранить записи этой сущности в таблице articles, а не в article.

Пример

Давайте укажем схему и имя таблицы для сущности User:

<?php namespace AppEntity; use DoctrineORMMapping as ORM; #[ORMEntity] #[ORMTable(name: 'app_users', schema: 'public')] class User { #[ORMId] #[ORMGeneratedValue] #[ORMColumn(type: 'integer')] private ?int $id = null; #[ORMColumn(type: 'string', length: 255)] private string $name; public function getId(): ?int { return $this->id; } public function getName(): string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } } ?>

Теперь таблица будет создана в схеме public под именем app_users.

Пример

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

php bin/console doctrine:schema:update --force

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

"Updating database schema... Database schema updated successfully!"

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

  • атрибут Entity,
    который помечает класс как Doctrine-сущность
  • атрибут Id,
    который помечает поле как первичный ключ
  • атрибут GeneratedValue,
    который задаёт автоинкремент для поля
  • атрибут UniqueConstraint,
    который задаёт уникальные ограничения таблицы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить