今天在开发过程中发现前端的 input 内容为空时,保存到数据库中却变成了 null ,看了一下 Laravel 的文档,才发现 Laravel 默认启用了一个全局中间件: IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,顾名思义就是将空字符串转成 null ,我们关掉这个全局中间件就可以了。

在 app/Http/Kernel.php 文件中注释掉 ConvertEmptyStringsToNull 中间件即可。