В Symfony 4.3 и более поздних версиях можно использовать тип поля "datetime" и указывать, что значение по умолчанию должно быть NULL.
Для этого в сущности необходимо добавить аннотацию @ORMColumn(nullable=true)
к свойству, которое представляет поле типа "datetime".
Например, предположим, у вас есть сущность Article
, в которой есть поле publishedAt
типа "datetime". Чтобы указать, что значение по умолчанию должно быть NULL, вы можете использовать следующий код:
use DoctrineORMMapping as ORM; /** * @ORMEntity */ class Article { /** * @ORMColumn(type="datetime", nullable=true) */ private $publishedAt; // ... public function getPublishedAt(): ?DateTimeInterface { return $this->publishedAt; } public function setPublishedAt(?DateTimeInterface $publishedAt): void { $this->publishedAt = $publishedAt; } // ... }
В этом примере в аннотации @ORMColumn
использован параметр nullable=true
, который указывает, что поле может содержать значение NULL. Следующий код в методах getPublishedAt()
и setPublishedAt()
гарантирует, что они принимают и возвращают объекты DateTimeInterface
(включая NULL).
Теперь, когда объект Article
будет сохраняться в базе данных, если значение $publishedAt
равно NULL, значение по умолчанию для столбца в базе данных также будет NULL.