【发布时间】:2020-07-03 14:15:43
【问题描述】:
我尝试更改使用命令 php artisan ui:auth 时默认使用的用户模型 到另一个模型 但是所有的方法都行不通 应该怎么做? 我正在使用 laravel 7.x 版
【问题讨论】:
标签: laravel authentication model-view-controller laravel-blade laravel-7
我尝试更改使用命令 php artisan ui:auth 时默认使用的用户模型 到另一个模型 但是所有的方法都行不通 应该怎么做? 我正在使用 laravel 7.x 版
【问题讨论】:
标签: laravel authentication model-view-controller laravel-blade laravel-7
出于各种原因,您可以根据需要拥有不同(或尽可能多的不同)模型。您只需要更改config/auth.php 中的相关部分。我总是使用 Models 目录,所以我对新应用做的第一件事就是重新定位 User 模型,然后告诉 Auth 在哪里寻找它:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
如果您有自定义逻辑,您还必须在控制器中更新模型的 use 语句,但对于普通 Laravel Auth 设置,您只需更改配置即可。
编辑:如果您确实有像我这样的结构(模型目录),则默认 App\User 命名空间声明必须在模型本身上进行更改:
变化:
namespace App;
收件人:
namespace App\Models;
或者任何与你的结构相匹配的东西。
【讨论】:
App\User;如果你在模型中有它,那么模型的命名空间必须更改为App\Models\User,等等。如果你使用 JWT 或其他东西,它会有点取决于你的身份验证工作流程是什么样的,但最后最重要的是,它仍然归结为确保工作流在正确的位置/命名空间中寻找模型。