我在生产环境中部署应用程序时收到此错误消息:
无法将数据库值“2016-06-10 14:57:17”转换为Doctrine 输入日期。预期格式:Y-m-d
这是什么意思,我该如何解决?
答案 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();
我建议你第一个。