【问题标题】:Change name of User Model in Laravel 7在 Laravel 7 中更改用户模型的名称
【发布时间】:2020-10-19 06:12:35
【问题描述】:

我看到了将数据库表名从用户更改为其他名称的选项,但模型在代码中仍然是用户。为了保持一致性,我想知道如何将模型的名称更改为其他名称。就我而言,我想用“customers”表名将其称为“Customer”。

【问题讨论】:

  • 只需更改类名,为了保持一致性,您还可以更改文件名。
  • 问题是身份验证逻辑查找名为 User 的模型,这可能就是为什么所有关于更改此的文章都停止仅更改表名的原因,因为这相当微不足道。我无法开始知道哪里有我需要更改的“用户”模型的引用,因此问题......
  • 您可以尝试更改 auth.php 文件并将模型名称更改为您重命名的用户模型
  • @RamizKongulov 现在有一个答案可以真正解决我的要求。感谢您实际阅读与其他人不同的问题...:)

标签: laravel laravel-7 laravel-authentication


【解决方案1】:

用户模型在文件中声明:config/auth.php

...


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

...

要更改您的用户模型,您可以更改文件名或创建一个新模型,然后更改 config/auth.php 中的声明

...


    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Customer::class,
        ],

...

对于一致的模型和迁移,您可以使用单个工匠命令生成它们:

php artisan make:model Customer --migration

这将为模型名称生成一个单数实例,为表名生成复数实例。

【讨论】:

  • 您错过的一件事是 RegisterController 顶部的 use 语句,它调用 User 模型,因此也需要重命名。更改后它可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-08
  • 2021-01-13
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多