我想使用另一个表而不是users
进行身份验证。我知道我可以更改User.php
中的表名,如下所示:
protected $table = 'WhatEver';
但这不是我想要的。我想更改应用程序后端的名称,以便使用完全不同的模型。我怎样才能做到这一点?我需要更改哪些文件?
答案 0 :(得分:0)
我找到了解决方案。首先创建一个新的数据库表,该表应包含password
和remember_token
个字段。在config/auth.php
中更改providers
部分,如下所示:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\NEW_MODEL_NAME::class,
],
之后,您需要更改App/Controller/Auth/RegisterController.php
:
protected function validator(array $data) {
return Validator::make($data, [
'surname' => 'required|string|max:255',
'firstname' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:NEW_DB_TABLE_NAME',
'password' => 'required|string|min:6|confirmed',
]);
}
protected function create(array $data) {
return App\NEW_MODEL_NAME::create([
'surname' => $data['surname'],
'firstname' => $data['firstname'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
就是这样。