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