記錄一次laravel 會把空字串轉為 null的小坑

lixueyuan發表於2021-02-26

前言

最近讀到部落格 面試官問,為什麼建議MySQL列屬性儘量用 NOT NULL ?
我們也儘量不設定為null 的欄位,但是遇到了一個小問題,

$request->post('xxx', '');

如果前端提交欄位為空字串,會報錯,於是列印提交的字串,發現不管是前端ajax提交,還是apizza提交的空字串,後端都會列印null,百思不得其解,隨手一查最後找到這個文章
laravel 提交空字串會被轉成null解決方法
app\Http\Kernel.php下的$middleware屬性改成如下,就可以了

 protected $middleware = [
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
       //\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
        CrossRequest::class,
        FilterParams::class,
    ];
本作品採用《CC 協議》,轉載必須註明作者和本文連結
程式設計兩年半,喜歡ctrl(唱、跳、rap、籃球)

相關文章