在laravel中更改默认身份验证

时间:2017-08-11 11:40:38

标签: php laravel

我是laravel的新手,我无法确定使用laravel的默认身份验证传递输入名称的位置。

在我的RegisterController.php中我有

protected function validator(array $data)
{
    return Validator::make($data, [
        'fname' => 'required|string|max:35',
        'lname' => 'required|string|max:35',
        'username' => 'required|string|min:4|max:32|unique:users',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:4|confirmed',
    ]);
}

protected function create(array $data)
{
    return User::create([
        'fname' => $data['fname'],
        'lname' => $data['lname'],
        'username' => $data['username'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

在我的User.php中我有

protected $fillable = [
    'username', 'password', 'fname', 'lname', 'email',
];

protected $hidden = [
    'username', 'password', 'remember_token',
];

如果我想将用户名字段的名称更改为acc_username但在数据库和类中保留用户名列,我该怎么办?

意味着只有输入字段才是唯一一个使用不同名称的字段,而不是用户名

我一直在尝试改变每一件事,但我仍然无法弄清楚哪些实际上接受了带有名称和值的表单,所以我可以修改它

1 个答案:

答案 0 :(得分:0)

在register.blade中:

更改:name="username"

name="acc_username"

验证者更改

'username' => 'required|string|min:4|max:32|unique:users'

'acc_username' => 'required|string|min:4|max:32|unique:users'

create()

更改:

'username' => $data['username']

'username' => $data['acc_username'],