エラー:SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘xxxxx’ cannot be null

前提

Laravelのバージョン

$ php artisan --version
Laravel Framework 5.7.28

事象

データベース更新時に以下のエラーが発生

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'xxxxx' cannot be null

更新画面で空文字(””)がNullになってエラーが起きていた。

フロントのVue側では、取得した値をRequestで渡している。

取得して、設定する側では、
以下のように、Requestの動的プロパティで取得しているが、
この取得でなぜかNullになっている。

class Xxxxx extends Controller
{
  public funciton insert(Request $request) {
    :
    insertData($request);
    :
  }
}
class XXXXXXX extends Model
{
  function insertData($request) {
    :
    ....... => $request->xxxxx,
    :
  {
}

解決方法

リファレンス

https://readouble.com/laravel/5.7/ja/requests.html

にその説明が書いてあった。

参考:Laravelリファレンスより引用

なので、

class Kernel extends HttpKernel
{
  protected $middleware = [
    :
    //以下をコメントアウト
    .......\Middleware\ConvertEmptyStringsToNull::class
    :
  ];
}

後は忘れずに再コンパイル。

プロフィール

学ぶパンダ

初心者向けにプログラミング学習や

就職・転職に向けた情報を発信

独学向け(勉強方法)
独学向け(プログラミング)
独学向け(Webデザイン)
独学向け(javaScript)
独学向け(PHP/Laravel)
独学向け(Ruby/Rails)