php - 如何在 symphony 3 中设置日期时间字段以更新或插入数据?

标签 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.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/

相关文章:

javascript - 使用jquery选择一个 anchor 来显示文本区域

php - http错误无法打开到服务器nusoap错误13的套接字连接

php - 如何将 "distinct on"与学说一起使用?

php - 使用多数组插入数据

php - Symfony2 - Doctrine 实体子目录

symfony - Amazon ElasticBeanstalk 中的单实例 cronjob

php - 在 Symfony2 中创建数据库

mongodb - Doctrine MongoDB - 有没有办法从 JSON 构建查询?

php - Codeigniter 语法 $this->db->list_fields 从多个表中获取多个列

php - Symfony 2 一个实体事件监听器在每个实体负载上运行