Laravel 5.2 auth更改'用户'表

时间:2016-01-07 20:00:18

标签: laravel authentication laravel-5 artisan laravel-5.2

我在Laravel中使用了新功能:

 php artisan make:auth

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

认证/ 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 个答案:

答案 0 :(得分:8)

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

$table = 'new_table';

您还应该更改默认迁移。转到:/database/migrations/2014_10_12_000000_create_users_table.php文件并在此处更改users以获取相同的名称。要删除时间戳,您可以删除行:

$table->timestamps();

但如果我是你,我会重新考虑删除这些时间戳

答案 1 :(得分:6)

请勿忘记更改REGISTERCONTOLLER.PHP中的验证。

fs

var fs = null;
if (typeof require !== 'undefined') {
  fs = require('fs');
}

答案 2 :(得分:2)

默认情况下,模型将其类名作为表名!
我在App/User.php

的顶部定义了受保护的属性
protected $table = 'auth_users';

这告诉laravel使用auth_users表而不是默认的user表。 它就像魅力一样。

答案 3 :(得分:0)

使用config / auth.php和RegisterController.php中的修改检查Laravel 5.3 Change user table in Auth以寻找替代解决方案。

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

public $timestamps = false;