无法更改 Laravel 的 Auth 表

Posted

技术标签:

【中文标题】无法更改 Laravel 的 Auth 表【英文标题】:Can't change table of Laravel's Auth 【发布时间】:2019-03-27 19:32:30 【问题描述】:

我的 laravel 有一个奇怪的问题。我正在使用 laravel 的身份验证,但我有一个不同的数据库。所以我使用protected $table = 'compte'; 更改了表的名称,但是一旦我尝试了一些需要我的表的操作,例如登录,它不会返回错误,除非我尝试注册一个新用户。通过注册,它告诉我它仍然使用dbname.users 而不是dbname.compte。 这是我在用户模型中所做的更改:

protected $table = 'compte';
protected $primaryKey = 'id_compte';
public $timestamps = false;


// SET A DIFFERENT FIELD FOR THE PASSWORD DUE TO THE DB
public function getAuthPassword()  
    return $this->mdp_compte; 

【问题讨论】:

您是否对 config/auth.php 文件进行了任何更改?如果不是,则有问题。 我需要做哪些改变?我没有在 auth.php 中改变什么。 【参考方案1】:

config/auth.php 中将表名更改为compte。 也通过命令清除所有缓存 php artisan cache:clear.

这是一个默认代码

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

你需要改变它

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

【讨论】:

抱歉我的问题,但我需要在 auth.php 中更改什么? 你应该改变 providers 数组。 我在使用 php artisan make:auth 后没有更改我的原始文件。那么我需要将文件 User.php 的名称更改为 Compte.php 吗?我试过你的方法,但没有奏效。它仍然使用users

以上是关于无法更改 Laravel 的 Auth 表的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 复选框问题,我无法更新数据透视表

我可以在 Laravel 中同时使用 OAuth 和 Auth 吗?

如何更改默认的Laravel Auth登录视图

更改 Laravel auth 表名和列名

我无法从 laravel 中的输入值中获取请求值

在 Laravel 中创建用户表