Laravel 5.2:如何自定义默认的auth表名

时间:2016-04-30 15:09:02

标签: php laravel laravel-5 eloquent

我使用的是Laravel 5.2,我想自定义默认用户'表名。 我找到了这个问题的多个回复,所以通过测试所有,它不起作用: 通过更改/App/config/Auth.php文件,添加'table' => 'members',最后重命名/database/migrations文件夹上的表名

2 个答案:

答案 0 :(得分:2)

尝试在User模型中更改此内容:

protected $table = 'users';

到此:

protected $table = 'members';

另外,在config\auth.php

中更改表名

此外,在这些更改后清除所有缓存。

答案 1 :(得分:2)

最终我找到了解决方案, 首先,你必须编辑 2014_10_12_000000_create_users_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');
}

并将users更改为members

然后运行 artisan migrate 命令。

现在,在 app / User 模型中添加protected $table = 'members';。并在 App / config / Auth.php 文件中,在用户提供商部分添加'table' => 'members',,使其成为:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
        'table' => 'members',
    ],
],

最后,对于 app / Http / Controllers / Auth / AuthController.php 文件中的验证规则,编辑验证器方法,使其成为:

    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。就是这样。