我正在使用laravelframeworkv5.5和mysql数据库。我正在尝试创建/更新记录,但出现以下错误。在我的案例中发布的列的格式为date,可以为null。但是,如果我尝试用null更新列,则会抛出错误。
请求数据:
{"id":4776,"name":"test","published":null}
错误:
"message": "SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect date value: '' for column 'published' at row 1
当然,我可以在mysql处理之前删除发布的参数,但是我必须在很多地方删除,包括这个参数和其他参数。另一个选择是禁用严格模式,但我不想这样做。还有其他选择吗?
1条答案
按热度按时间q35jwt9p1#
如果你收到
null
很重要的一点是,要么把它传播到雄辩的层,要么把它从你的参数中删除,直到它到达那一步。while数据库
NULL
是的有效值DATETIME
列,可以NULL
,空字符串不是。任何形式的铸造null
清空字符串会毁了你这里的一切。除非您特别需要清空字段,否则清除空参数通常是个好主意。