Php 如何在symphony 3中设置datetime字段以更新或插入数据?
我正试图通过以下方式在symfony 3.4中设置日期和时间字段:Php 如何在symphony 3中设置datetime字段以更新或插入数据?,php,symfony,Php,Symfony,我正试图通过以下方式在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.p
$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);
$date = $eventProject->getDate();
var_dump($date->format("Y-m-d"));
//string(10) "2018-05-09"
这也意味着您在检索日期时必须使用DateTime
$eventProject = new $eventProject();
$date = new \DateTime('2018-05-09');
$eventProject->setDateFrom($date);
$date = $eventProject->getDate();
var_dump($date->format("Y-m-d"));
//string(10) "2018-05-09"
当您希望以字符串形式获取日期时,请确保对检索到的DateTime
对象使用format
这更多地是关于如何编写eventProject
类/实体的,而不是由Symfony
强制执行的内容。也就是说,在PHP项目中使用时间是一种非常常见的方式。刚开始的时候,这看起来有点尴尬,但当你习惯了它,你会发现它非常方便