使用自动生成的DATETIME和默认值CURRENT_TIMESTAMP插入新对象的symfony 4教义错误

时间:2018-08-15 16:43:12

标签: php symfony doctrine-orm

我正在尝试使用Doctrine和symfony4在我的MariaDB数据库中插入对象

我的表包含一个DATETIMEtimestamp,其默认值为CURRENT_TIMESTAMP

在调用persist()时出现以下错误导致文档崩溃:

Could not convert PHP value 'CURRENT_TIMESTAMP' of type 'string' to type 'datetime'. Expected one of the following types: null, DateTime

我不明白为什么,因为这应该由数据库在插入时自动生成。我应该提供一个“日期时间”吗?请为此解决吗?

2 个答案:

答案 0 :(得分:-1)

我发现最好的解决方案是使用主义生命周期事件,并使用my_list = os.environ['MY_LIST'].split(",") 和/或onPrePersist事件。

完整的解决方案在in this topicin the official documentation中进行了描述。

这样,我可以使用Symfony 4.4将当前时间保存在时间戳列中。

答案 1 :(得分:-2)

更改数据库“ CURRENT_TIMESTAMP” 输入varchar或文字