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

Laravel8报错Target class [ImportTransaksiR13_Controller]不存在求解决

问题排查与解决步骤

你遇到的报错是Laravel 8下控制器类加载失败,结合你提供的代码,有以下几个明确的问题需要修正:

1. 路由写法适配Laravel 8规则

Laravel 8开始默认取消了路由文件的控制器命名空间前缀,两种路由写法分别要做对应调整:

  • 如果你用[Controller::class, '方法']的写法,必须在路由文件顶部导入控制器的命名空间:
use App\Http\Controllers\ImportTransaksiR13_Controller;
  • 如果你用字符串格式的控制器@方法写法,需要写完整的命名空间:
Route::get('/transaksiR13', 'App\Http\Controllers\ImportTransaksiR13_Controller@index');
// 其余两个字符串写法的路由也补全相同的命名空间前缀

可选方案:如果要沿用Laravel 7及之前的自动前缀规则,可在app/Providers/RouteServiceProvider.php里找到$namespace属性,取消注释并赋值为protected $namespace = 'App\Http\Controllers';,之后字符串写法的路由就不用写全命名空间。

2. 修正控制器语法错误

你提供的控制器代码末尾多了2个多余的闭合大括号,会导致类解析失败,直接删除即可,修正后的控制器末尾结构应为:

class ImportTransaksiR13_Controller extends Controller
{
       
    public function index()
    {
        // 方法原有内容
    }
 
    public function export_excel()
    {
        // 方法原有内容
    }
}
// 此处删除你代码里多余的两个}

3. 修正控制器内部类名调用错误

  • 你已经导入了use App\TransaksiR13;,但index方法里调用的是Transaksi_r13::all(),类名大小写、下划线不匹配,改为TransaksiR13::all()
  • 你已经导入了use App\Exports\TransaksiR13Export;,但export_excel方法里实例化的是new TransaksiExportR13,类名顺序写反,改为new TransaksiR13Export

4. 校验文件名与路径

  • 控制器文件必须放在app/Http/Controllers目录下
  • 文件名必须和类名完全一致,为ImportTransaksiR13_Controller.php,注意大小写匹配(Linux服务器对大小写敏感,写错会加载失败)

5. 重置缓存与自动加载

修改完成后执行以下命令清理缓存、重建自动加载:

php artisan route:clear
composer dump-autoload

内容的提问来源于stack exchange,提问作者Lucas Futami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:09:00