В моем приложении я сохраняю данные с доктриной в базе данных mysql.
для меня вполне достаточно сохранить дату, а не время, поэтому я выбрал формат даты для своего поля базы данных.
В сущности моего приложения Symfony 4 это выглядит так:
/**
* @var DateTime
*
* @ORM\Column(name="create_date", type="date", nullable=false, options={"default" = "CURRENT_TIMESTAMP"})
* @Assert\NotBlank
*/
private $createDate;
/**
* @param DateTime $createDate
*
* @return Asset
*/
public function setCreateDate(DateTime $createDate)
{
$this->createDate = $createDate;
return $this;
}
Результирующий оператор SQL выглядит следующим образом:
INSERT INTO asset
(name, create_date, beide, comment, amount, user_id, category_id)
VALUES
("Schmeckerlis","2019-01-19 16:03:53",0,"",7.34,345,345)
Как видите, добавлено время.
Это как вы настраиваете поле даты с доктриной?
Должен ли я изменить его на поле DateTime или Timestamp?
Должен ли я удалить значение по умолчанию в сущности?
https://www.doctrine -project.org / проекты / Доктрина-DBAL / ы / 2,6 / ссылка / types.html дата #
говорит следующее:
"дата:
Карты и преобразовывает данные даты без времени и информации о часовом поясе. Если вы знаете, что данные, которые должны храниться, всегда должны быть датой без информации о времени и часовом поясе, вам следует рассмотреть возможность использования этого типа. Значения, извлеченные из базы данных, всегда преобразуются в объект PHP \ DateTime или ноль, если данные отсутствуют. "