我正在尝试自定义Laravel的身份验证字段。我成功输入了“名称”和“密码”字段,但未成功输入“电子邮件”字段。我仍然有错误:
SQLSTATE [42S22]:找不到列:1054“电子邮件”字段在哪里未知 条款。
我尝试依靠此this,但是没有用。在RegisterController,
中,我将create
函数更改为以下内容。
protected function create(array $data)
{
return User::create([
'user_pseudo' => $data['name'],
'user_email' => $data['email'],
'usr_mdp' => bcrypt($data['password']),
]);
}
答案 0 :(得分:0)
此错误可能来自validation
方法中电子邮件字段的unique
validation。如果没有指定列名,它将use the name of the field as the column name。
在应该用来搜索电子邮件的规则中添加正确的列名,该错误应该消失了:
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'],
]);
}