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

Поле date

Поле date в Symfony используется в сущностях Doctrine для хранения даты без времени. Оно преобразуется в тип DATE в базе данных. При работе с этим полем вы получаете объект DateTimeInterface, в котором время всегда установлено на полночь. Поле удобно для хранения дней рождения, дат событий или любых других данных, где важна только календарная дата.

Синтаксис

#[ORM\Column(type: 'date')] private \DateTimeInterface $createdAt;

Пример

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

<?php namespace AppEntity; use DoctrineORMMapping as ORM; #[ORM\Entity] class Article { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private int $id; #[ORM\Column(type: 'string', length: 255)] private string $title; #[ORM\Column(type: 'date')] private \DateTimeInterface $publishedAt; public function getPublishedAt(): \DateTimeInterface { return $this->publishedAt; } public function setPublishedAt(\DateTimeInterface $publishedAt): self { $this->publishedAt = $publishedAt; return $this; } } ?>

Пример

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

<?php namespace AppController; use AppEntityArticle; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; class ArticleController extends AbstractController { public function create(): Response { $article = new Article(); $article->setTitle('hello'); $article->setPublishedAt(new \DateTime('2026-09-13')); return new Response('Published at: ' . $article->getPublishedAt()->format('Y-m-d')); } } ?>

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

"Published at: 2026-09-13"

Пример

Давайте посмотрим, как поле date отображается в форме Symfony:

<?php namespace AppForm; use AppEntityArticle; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentFormExtensionCoreTypeDateType; use SymfonyComponentOptionsResolverOptionsResolver; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('title') ->add('publishedAt', DateType::class, [ 'widget' => 'single_text', ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Article::class, ]); } } ?>

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

  • поле datetime,
    которое хранит дату и время
  • поле date_immutable,
    которое хранит неизменяемую дату
  • поле time,
    которое хранит только время
  • поле datetimetz,
    которое хранит дату и время с часовым поясом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить