База MySQL/MariaDB, поле datetime c default value = "0000-00-00 00:00:00". По рекомендациям NULL не ставится, т.к. с default_value быстрее скорость выборки из базы.
//src/Entity/Customer.php
/**
* @var \DateTime
*
* @ORM\Column(name="last_bill_date", type="datetime", nullable=false, options={"default"="0000-00-00 00:00:00"})
*/
private $lastBillDate;
/**
* @return \DateTime
*/
public function getLastBillDate(): \DateTime
{
return $this->lastBillDate;
}
В случае default_value возвращает объект DateTime('0000-00-00 00:00:00') с учетом часового пояса. Дальше естественно возникают проблемы, например в Twig дата вида -0001-11-30 00:00:00
Сделал такое решение, т.к. при type="datetime" в getLastBillDate() приходит уже готовый DateTime:
//src/Entity/Customer.php
/**
* @ORM\Column(name="last_bill_date", type="string")
*/
private $lastBillDate;
/**
* @return null|\DateTime
*/
public function getLastBillDate(): ?\DateTime
{
$result = $this->lastBillDate !== '0000-00-00 00:00:00' ? new \DateTime($this->lastBillDate) : NULL;
return $result;
}
Подскажите как сделать правильно