【问题标题】:Laravel 5.2 auth change 'users' tableLaravel 5.2 auth 更改“用户”表
【发布时间】:2016-04-12 08:54:12
【问题描述】:

我使用了 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',
];

这是我认为会改变它的事情,但他们没有。我希望有人能告诉我更多关于这个问题的信息。

【问题讨论】:

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


    【解决方案1】:

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

    $table = 'new_table';
    

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

    $table->timestamps();
    

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

    【讨论】:

    【解决方案2】:

    不要忘记在 REGISTERCONTOLLER.PHP 中更改验证。

    来自

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

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

    【讨论】:

      【解决方案3】:

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

      protected $table = 'auth_users';
      

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

      【讨论】:

        【解决方案4】:

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

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

        public $timestamps = false;
        

        【讨论】:

          猜你喜欢
          • 2016-04-12
          • 1970-01-01
          • 1970-01-01
          • 2023-03-05
          • 2016-10-09
          • 2016-05-29
          • 2016-04-20
          • 1970-01-01
          • 2015-11-27
          相关资源
          最近更新 更多