【问题标题】:Error: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'username' cannot be null错误:SQLSTATE [23000]:违反完整性约束:1048 列“用户名”不能为空
【发布时间】:2019-07-05 22:29:55
【问题描述】:

即使我输入了用户名的值,但每当我按下提交按钮时,就会发生此错误

其他表单域也正常工作。

 $values = array('email' => $request->email,'username' => $request->user_name, 'password' => $request->password);

 $test = DB::table('users')->insert($values);

【问题讨论】:

  • $request->user_name 是否返回值?如果没有,请仔细检查表单中的字段。
  • 是的,它确实返回了一个值
  • ...是描述中提到的username,还是真的user_name,或者是user-name,还是别的什么?我也会检查一下。

标签: php mysql laravel controller


【解决方案1】:

开箱即用,Laravel 使用 $name 作为用户名的可填写字段。如果您在 User 模型上将其更改为“$username”,请确保将其设为可填充:

protected $fillable = [
    'username', 'email', 'password',
];

如果它在模型上不可填充,无论您填写什么,Laravel 都会向数据库返回空值。由于 DB 字段 username 在您的代码中可能不可为空,这可能是错误。

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 2021-08-16
    • 2019-10-06
    • 2020-10-25
    • 2017-02-28
    相关资源
    最近更新 更多