记录工作日志
分享优惠信息、实用软件及工具

laravel填坑:自动把空字符转换为null保存至数据库

在laravel中有个中间件,叫ConvertEmptyStringsToNull,他自动把表单里允许为空的字段在提交后转换为null,这就导致查询的时候使用where条件时出现问题,如where(‘filed’,’=’,”)查不到null的记录,而where(‘field’,’=’,null)也查不到空字符的记录。

解决办法:

注销Kernel.php(app/Http/Kernel.php)中的ConvertEmptyStringsToNull中间件,然后把已经在数据库中的null值置空。

protected $middleware = [
    // \App\Http\Middleware\TrustHosts::class,
    \App\Http\Middleware\TrustProxies::class,
    \Illuminate\Http\Middleware\HandleCors::class,
    \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    // \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,   //注销这行即可
];
赞(0) 打赏一下
未经允许不得转载:飞虫博客 » laravel填坑:自动把空字符转换为null保存至数据库
分享到

评论 抢沙发

觉得文章有用就打赏一下博客作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫