我在生产环境中部署应用程序时收到以下错误消息:
无法将数据库值"2016-06-10 14:57:17"转换为 Doctrine 键入日期。预期格式:Y-m-d
这是什么意思,我该如何解决?
2016-06-10 14:57:17
被认为是DateTime
而不是Date
。
2016-06-10
是您要保存的值,因此,如果我认为您的实体具有在此处设置日期的方法,则有两种方法可以使用substr
将字符串减少到10个字符YYYY MM DD
来修复它
通过过滤日期来编辑要修复的二传手
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();
我建议你第一个。
子 : http://php.net/manual/fr/function.substr.php