【问题标题】:General error: 1364 Field 'department_id' doesn't have a default value一般错误:1364 字段 'department_id' 没有默认值
【发布时间】:2020-02-27 10:15:48
【问题描述】:

这是错误

SQLSTATE[HY000]:一般错误:1364 字段 'department_id' 没有 有一个默认值(SQL:插入ms_usernameusernamerole, email, password, updated_at, created_at)

ms_user 模型

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

创建函数:

    {
        return ms_user::create([
            'name' => $data['name'],
            'username' => $data['username'],
            'role' => $data['role'],
            'email' => $data['email'],
            'department_id' => $data['department_id'],
            'password' => bcrypt($data['password'])
        ]);
    }

验证器功能:

 protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|string|max:255',
            'username' => 'required|string|max:255',
            'role' => 'required|in:user,admin',
            'department_id' => 'required|string',
            'email' => 'required|string|email|max:255|unique:ms_user',
            'password' => 'required|string|min:6|confirmed',
        ]);
    }

department_id 是一个下拉菜单,其中包含来自ms_department 表的数据, department_id 成为ms_user 表中的外键和ms_department 中的主键

【问题讨论】:

  • 你好,首先我没有使用过 MySQL 和 Laravel(我一直使用 postgresql),但是根据你的错误,你能看看这个stackoverflow.com/questions/15438840/… 问题,看看它是否回答你的?

标签: php mysql laravel-5 eloquent


【解决方案1】:

如果不是 department_id 输入的名称属性为空或拼写不正确,您似乎正在尝试批量上传

我遇到了同样的问题,但我的案例中的错误源于我的控制器,在那里我交换了居住在 exp_date 的字段名称

【讨论】:

    【解决方案2】:

    您正在尝试创建一个用户,并将 department_id 设置为空。在您的控制器中,它接缝您正在传递$data['department_id'] 我认为该值来自Request 对象。但由于该字段没有任何值,当您执行创建user 的代码时,它会将 empty 值发送到该数据库。包含用户数据的表不允许该字段为空。

    你可以通过更新你的迁移来解决这个问题,像这样在departement_field 上允许 null

    $table->integer('department_id')->nullable();
    

    或者您可以检查$data['department_id'] 是否不为空,而是在您的控制器中使用debug($data)

    【讨论】:

      猜你喜欢
      • 2019-11-23
      • 2021-02-28
      • 2021-10-13
      • 2017-03-02
      • 2020-02-03
      • 2020-07-23
      • 2016-06-13
      • 2021-01-18
      • 2021-07-30
      相关资源
      最近更新 更多