Doctrine2错误:预期格式:Y-m-d

时间:2016-06-10 14:28:56

标签: php symfony doctrine-orm

我在生产环境中部署应用程序时收到此错误消息:

  

无法将数据库值“2016-06-10 14:57:17”转换为Doctrine   输入日期。预期格式:Y-m-d

这是什么意思,我该如何解决?

1 个答案:

答案 0 :(得分:3)

2016-06-10 14:57:17被视为DateTime,而不是Date

2016-06-10是您要保存的值,因此如果我认为您的实体有一种在此设置日期的方法,您有两种方法可以使用substr修复它以将字符串剪切为10个字符YYYY MM DD

通过过滤日期

编辑您的setter以进行修复
public function setDate($date)
{
    $this->dateNaissance = substr($date,0,10);

    return $this;
}

在将数据设置为您的实体之前截断您的数据

//However you recover the value, this is an example
$date = "2016-06-10 14:57:17"

$entity->setDate(substr($date,0,10));
//Considerig $om is your manager
$om->persist($entity);
$om->flush();

我建议你第一个。

substr:  http://php.net/manual/fr/function.substr.php