我已经在我的表格中插入了一行代码:
$activation_code = str_random(60);
$user = User::create([
'email' => $input['email'],
'password' => Hash::make($input['password']),
'name' => $input['name'],
'surname' => $input['surname'],
'bio' => $input['bio'],
'birthdate' => $input['birthdate'],
'gender' => $input['gender'],
'smoker' => (int)$input['smoker'],
'activation_code' => $activation_code
]);
这是来自模型类:
protected $hidden = [
'id',
'password',
'password_temp',
'active',
'activation_code'
];
protected $fillable = [
'email',
'password',
'name',
'surname',
'bio',
'birthdate',
'gender',
'driving_style',
'smoker',
'university'
];
除了activation_code
以外,所有其他字段都正确插入。
我在数据库中检查了activation_code
列的千倍,名称,类型,大小都是正确的等等。我尝试插入一个像ifohsdfiuhsfhdsiofdhs
这样的虚拟字符串,但仍然没有插入它。我抛弃了随机生成的字符串,它是string(60)
,所以它不是空的。
我尝试在数据库中手动插入该字符串,但工作正常。
我没有任何错误......我只是对问题是什么一无所知。
答案 0 :(得分:1)
您的fillable
数组需要包含activation_code
。 hidden
和fillable
属性不共享关系。您的activation_code
数据未添加到模型中,因为它不在“白名单”上。 (fillable
)。
hidden
用于隐藏您在场景中正确使用的敏感数据。
您的fillable
数组应如下所示:
protected $fillable = [
'email',
'password',
'name',
'surname',
'bio',
'birthdate',
'gender',
'driving_style',
'smoker',
'university',
'activation_code'
];