Laravel 5.2认证更改'users'表

6
我使用了Laravel的新功能:
 php artisan make:auth

但是当我注册时,它默认使用数据库表users,但我想将其更改为其他表。并且默认情况下在该表中使用updated_atcreated_at,我也想将其删除。

Auth/AuthController

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

应用程序中的用户

protected $fillable = [
    'voornaam', 'email', 'password',
];

这些是我认为会改变它的事情,但它们并没有。希望有人能对这个问题提供更多信息。

4个回答

8

更改表名,请前往 app/User.php 并将属性 $table 设置为自定义名称,例如:

$table = 'new_table';

您还需要更改默认迁移。前往:/database/migrations/2014_10_12_000000_create_users_table.php 文件并将此处的 users 更改为相同的名称。要移除时间戳,可以删除该行:

$table->timestamps();

然而,如果我是你,我会重新考虑删除那些时间戳。

希望你也知道这个:https://dev59.com/PFsW5IYBdhLWcg3wspEF - Draity

7

不要忘记在RegisterController.php中更改验证。

来自:

'email' => 'required|email|max:255|unique:users',

为了

'email' => 'required|email|max:255|unique:company',

2

默认情况下,模型会将其类名作为表名!
我在 App/User.php 的顶部定义了一个受保护的属性。

protected $table = 'auth_users';

这告诉Laravel使用auth_users表而不是默认的user表。 而它可以完美地工作。


0

查看Laravel 5.3更改Auth中的用户表,以获取另一种解决方案,使用config/auth.php和RegisterController.php中的修改。

要禁用时间戳,您还可以在模型类中使用:

public $timestamps = false;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接