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

Laravel 9报错:Class 'App\Post'未找到 求排查方案

错误原因及解决办法

核心原因

Laravel 9及后续版本中,默认生成的模型文件存放路径为App\Models目录,对应的命名空间是App\Models,但你在控制器里引用的是App\Post,命名空间与实际模型位置不匹配,导致类找不到。

解决办法

1. 修正控制器中的模型引用

把控制器里的use App\Post;替换为use App\Models\Post;,修改后的代码如下:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Models\Post; // 修正命名空间

class PostController extends Controller
{
 
    public function index(): Response
    {
    
        return view('posts.index',[
            'Posts'=>Post::all()
        ]);
    }

}

2. 检查Post模型的位置与命名空间

确认项目app/Models目录下存在Post.php文件,且文件内的命名空间正确:

<?php

namespace App\Models; // 必须为该命名空间

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // 模型业务代码
}

如果模型文件放在app根目录下(不推荐,不符合Laravel 9规范),则需确保模型的命名空间为namespace App;,此时控制器里的use App\Post;才能生效。

3. 刷新类自动加载缓存

若修改后仍报错,可能是自动加载缓存导致的,执行以下命令刷新缓存:

composer dump-autoload

内容的提问来源于stack exchange,提问作者ilyas zagaouch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:03:10