我尝试添加 2列,即“ 角色”和“ 状态”。 在 User 模型中,“ 角色”是 varchar ,“ 状态”是布尔值。
迁移成功后,数据库也同时显示了两列。
我已经添加了角色和状态,还向我显示了SQLSTATE [HY000]:常规错误:1364字段“ role”没有默认值
User.php
protected $fillable = [
'name', 'email', 'password', 'role', 'status',
];
}
protected $hidden = [
'password', 'remember_token',
];
}
答案 0 :(得分:1)
在模型文件中添加可填充或受保护的
protected $guarded = [];
答案 1 :(得分:1)
您收到此错误,是因为您尝试为$user->role
保存的值为null
,并且数据库和中的字段是必填字段(不能为空)没有默认值(提交null
时使用默认值)。
可能的解决方案:
$user->role = 'somevalue'
之前设置$user->save()
(即使是空字符串''
也可以)答案 2 :(得分:0)
在$ fillable User.php数组中添加“角色”和“状态”。
答案 3 :(得分:0)
在创建操作中将这些可填充字段添加到模型中,即可填充这些字段
protected $fillable =[...,'role','status'];
您收到一个错误消息,因为您将其作为默认None
,因此这些字段是必填字段
答案 4 :(得分:0)
在您的role
模型中添加status
和User
User.php
protected $fillable = [
'role','status'
];
这将使您能够在数据库的role
和status
列中添加数据。