将 User 模型替换为 Account 需创建新模型并 继承 Authenticatable;2. 在 config/auth.php 中更新 providers 的 model 指向 appModelsAccount;3. 更新控制器、 路由 等文件中对 User 类的引用;4. 若表名非 users 需在模型中设置 $table 属性。

laravel 默认使用 AppModelsUser 作为用户认证模型,但如果你需要修改这个模型的位置或类名,比如想改成 AppModelsAccount 或其他 命名空间 下的类,可以通过几个步骤轻松实现。
1. 修改 User 模型的路径和类名
如果你想将默认的 User 模型移到别的目录或改名:
- 创建新的模型类,例如:app/Models/Account.php
- 确保该模型继承自 IlluminateFoundationAuthUser 并使用 Authenticatable trait:
<?php
use IlluminateFoundationAuthUser as Authenticatable;
class Account extends Authenticatable
{
// 可以在这里定义 fillable、hidden 等属性
}
2. 更新 配置文件 auth.php
Laravel 的用户认证配置在 config/auth.php 中。你需要修改其中的 providers 配置项,指向新的模型:
‘providers’ => [
‘users’ => [
‘driver’ => ‘eloquent’,
‘model’ => AppModelsAccount::class,
],
],
这样 Laravel 在处理登录、注册、守卫认证时就会使用你的新模型。
3. 更新 路由 和控制器中的引用
如果你在控制器、中间件 或策略中手动引用了 User::class,记得把这些地方也更新为新的模型类:
- 注册控制器(RegisterController)中实例化的模型
- 用户请求验证或授权逻辑
- 任何使用 use AppModelsUser; 的文件
4. 数据库 迁移(可选)
如果新模型对应的数据表不是 users 表,还需要在模型中指定表名:
protected $table = ‘accounts’;
否则,默认会查找 users 表。
基本上就这些。只要改对 config/auth.php 和模型定义,Laravel 就能正确识别新的用户模型。不复杂但容易忽略 配置文件。
以上就是 Laravel 怎么修改默认的用户 (User) 模型的详细内容,更多请关注 php 中文网其它相关文章!