Php Laravel 5.2:如何自定义默认身份验证表名称
我使用的是Laravel5.2,我想自定义默认的“users”表名。 我发现这个问题有多个答案,所以通过测试所有答案,它不起作用:Php Laravel 5.2:如何自定义默认身份验证表名称,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我使用的是Laravel5.2,我想自定义默认的“users”表名。 我发现这个问题有多个答案,所以通过测试所有答案,它不起作用: 通过更改/App/config/Auth.php文件,添加'table'=>'members',并最终重命名/database/migrations文件夹上的表名尝试在用户模型中更改此项: protected $table = 'users'; 为此: protected $table = 'members'; 另外,在config\auth.php 另外,在这
通过更改
/App/config/Auth.php
文件,添加'table'=>'members'
,并最终重命名/database/migrations
文件夹上的表名尝试在用户
模型中更改此项:
protected $table = 'users';
为此:
protected $table = 'members';
另外,在config\auth.php
另外,在这些更改后清除所有缓存。尝试在
用户
型号中更改此选项:
protected $table = 'users';
为此:
protected $table = 'members';
另外,在config\auth.php
另外,在这些更改后清除所有缓存。最终我找到了解决方案, 首先,您必须编辑2014\u 10\u 12\u000000\u create\u users\u table.php:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::drop('users');
}
并将用户
更改为成员
然后运行artisan migrate命令
现在,添加protected$table='members'代码>在您的应用程序/用户模型中。在App/config/Auth.php文件中,在用户提供者部分添加'table'=>'members',
,使其成为:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'members',
],
],
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:members',
'password' => 'required|confirmed|min:6',
]);
}
最后,对于app/Http/Controllers/Auth/AuthController.php文件中的验证规则,编辑validator方法,使其成为:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'members',
],
],
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:members',
'password' => 'required|confirmed|min:6',
]);
}
因此,我们将unique:users
替换为unique:members
。就这样。我终于找到了解决办法,
首先,您必须编辑2014\u 10\u 12\u000000\u create\u users\u table.php:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::drop('users');
}
并将用户
更改为成员
然后运行artisan migrate命令
现在,添加protected$table='members'代码>在您的应用程序/用户模型中。在App/config/Auth.php文件中,在用户提供者部分添加'table'=>'members',
,使其成为:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'members',
],
],
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:members',
'password' => 'required|confirmed|min:6',
]);
}
最后,对于app/Http/Controllers/Auth/AuthController.php文件中的验证规则,编辑validator方法,使其成为:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'members',
],
],
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:members',
'password' => 'required|confirmed|min:6',
]);
}
因此,我们将unique:users
替换为unique:members
。就是这样。我一直收到一条错误消息:SQLSTATE[42S02]:找不到基表或视图:1146表'telestuct.users'不存在尝试跟踪错误以找出确切原因,因为我在5,2,29中的任何其他地方都看不到硬编码的用户
表,我一直收到一条错误消息:SQLSTATE[42S02]:找不到基表或视图:1146表“telestruct.users”不存在尝试跟踪错误以找出其确切原因,因为我在5,2,29中的任何其他位置都看不到硬编码的用户表,