Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

2024-05-18

奇怪的是——所有这些都在 5.2 中工作,但我不知道可以改变什么来实现这一点。下面是错误和正在插入的数组。

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'gender' cannot be null (SQL: insert into `tenants` (`name`, `phone`, `email`, `description`, `gender`, `date_birth`, `background_check_status`, `picture_url`, `work`, `position`, `country`, `location`, `hobbies`, `updated_at`, `created_at`) values (Amadeo Levy Luna, 18065496549, [email protected] /cdn-cgi/l/email-protection, , , 2017-05-08 20:29:50, 0, , , , , , , 2017-05-08 20:29:50, 2017-05-08 20:29:50)) ◀"
array:13 [▼
  "_token" => "9HeacY4KskT5vpLPGCUTkzVxRcpcKMNjdob79aLs"
  "name" => "Amadeo Levy Luna"
  "phone" => "18065496549"
  "email" => "[email protected] /cdn-cgi/l/email-protection"
  "description" => null
  "gender" => null
  "background_check_status" => "0"
  "picture_url" => null
  "work" => null
  "position" => null
  "country" => null
  "location" => null
  "hobbies" => null
]

这在整个网站的许多不同领域都取得了突破,但之前没有一个领域被突破过。 Laravel 做了什么改变来创建这个?


假设你的代码没有任何改变,我唯一能想到的是 5.4 中引入的两个新中间件:TrimStrings and ConvertEmptyStringsToNull.

尝试评论后者或两者app\Http\Kernel.php

class Kernel extends HttpKernel
{
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        // \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5.4 升级 - 违反完整性约束 - 列不能为空 的相关文章

随机推荐