Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在symphony 3中设置datetime字段以更新或插入数据?_Php_Symfony - Fatal编程技术网

Php 如何在symphony 3中设置datetime字段以更新或插入数据?

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

我正试图通过以下方式在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);
$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项目中使用时间是一种非常常见的方式。刚开始的时候,这看起来有点尴尬,但当你习惯了它,你会发现它非常方便