You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel8 php artisan auth修改模型路径报User类未找到如何解决

报错原因

这个错误和路由缓存没有关系,是Laravel认证系统默认读取配置里指定的用户模型类路径,你手动迁移User模型目录后,没有同步修改认证配置,框架还在按默认的App\Models\User路径找类,自然会抛出类不存在的错误。

修复步骤

按以下顺序修改即可:

  • 修改认证全局配置
    打开项目下的config/auth.php文件,定位到providers配置段,将用户提供者对应的model值替换为你迁移后的模型类名:
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        // 原默认值是 App\Models\User::class,替换为新路径
        'model' => App\Users\User::class,
    ],
],
  • 核对模型文件的命名空间
    打开迁移后的app/Users/User.php文件,确认文件顶部的命名空间和所在目录匹配,否则自动加载会找不到类:
<?php

namespace App\Users; // 原命名空间是App\Models,必须同步修改

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
// 其余原有引用、类内部代码不需要改动
class User extends Authenticatable
{
    use Notifiable;
    // ... 原有模型代码
}
  • 清理旧的配置缓存
    如果你的项目开启过配置缓存,修改完配置后需要在项目根目录执行命令清除旧缓存:
php artisan config:clear

需要重新生成配置缓存的话再执行php artisan config:cache即可。

  • 全局检查硬编码引用
    全局搜索项目代码里所有写死App\Models\User的位置,包括控制器、策略、事件监听器、数据库填充文件、队列任务等,把对应的use引用统一替换为App\Users\User,避免其他功能调用时报同类错误。
额外说明

执行php artisan route:clear之类的路由刷新操作对这个问题无效,路由缓存只负责存储路由和处理逻辑的映射关系,不涉及认证系统的模型加载配置。

内容的提问来源于stack exchange,提问作者Weronika Piotrowicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:27:28