如何自定义Laravel身份验证中的“电子邮件”字段?

时间:2019-05-08 09:45:24

标签: laravel-5 laravel-authentication

我正在尝试自定义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']),
    ]);
}

1 个答案:

答案 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'],
    ]);
}