我试图以这种方式在 symfony 3.4 中设置日期和时间字段:
$eventProject = new $eventProject();
$eventProject->setDateFrom('2018-05-09');
当我保存这些值时,出现如下错误:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'dateFrom' can
not be null
In ConversionException.php line 95:
Could not convert PHP value '2018-05-09' of type 'string' to type 'datetime
'. Expected one of the following types: null, DateTime
我不明白哪里出了问题?
最佳答案
您需要使用 PHP 的 DateTime
对象来设置日期。
$eventProject = new $eventProject();
$date = new \DateTime('2018-05-09');
$eventProject->setDateFrom($date);
这也意味着您在检索日期时必须使用 DateTime
。
$date = $eventProject->getDate();
var_dump($date->format("Y-m-d"));
//string(10) "2018-05-09"
当您想要将日期作为字符串获取时,请务必对检索到的 DateTime
对象使用 format
。
这更多是关于如何编写 eventProject
类/实体,而不是 Symfony
强制执行的内容。也就是说,这是在 PHP 项目中处理时间的一种常见方式。一开始它看起来有点尴尬,但随着你习惯了它,你会发现 DateTime
非常方便。
关于php - 如何在 symphony 3 中设置日期时间字段以更新或插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50264934/