我正在尝试自定义Laravel的身份验证字段。我成功获得了"名称"one_answers"密码"字段,但没有为"电子邮件"字段。我仍然有错误:
sqlstate [42S22]:找不到列:1054"电子邮件"字段在哪里未知 条款。
我试图依靠这一点,但它不起作用。在RegisterController,
中,我将create
功能更改为以下。
protected function create(array $data)
{
return User::create([
'user_pseudo' => $data['name'],
'user_email' => $data['email'],
'usr_mdp' => bcrypt($data['password']),
]);
}
此错误可能来自validation
方法中电子邮件字段的unique
验证。如果未指定列名,它将使用字段名称为列名称。
将正确的列名添加到应该搜索电子邮件的规则,此错误应消失:
registercontroller.php
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users,user_email'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}