繁体   English   中英

Laravel - 找不到类/模型

[英]Laravel - Class/Model not found

最初,此代码有效,但它不再有效。 我不知道是什么导致了这个问题。

错误是:

FatalErrorException in AdminController.php line 64:
Class 'App\Category' not found

AdminController代码是:

<?php

namespace App\Http\Controllers;

use Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Category;
use View;   

class AdminController extends Controller
{
    public function article_get()
    {
        $categories = Category::latest()->get();
        return View::make('create.article')->with('categories',$categories);
    }
}

我的 model 类别位于App/Models/Category.php

我试过的:

  1. use App\Category; use Categoryuse \Categoryuse App\Models\Category
  2. composer dump-autoload

几个小时前我有一个工作项目,但现在找不到我的模型。

由于Laravel使用PSR-4自动加载功能 ,因此您需要确保名称空间与真实目录结构匹配。

您说Category模型位于App/Models/Category.php因此其名称空间应为App\\Models 然后,在控制器中,您将use App\\Models\\Category

您的代码似乎很好。 可能是类别模型中的名称空间有问题。

如果您在AdminController控制器中将此代码用于Category Model:

use App\Models\Category;

那么您的Category模型本身就有这个名称空间

namespace App\Models;

检查您的模型名称空间是否仍然存在。

谢谢

这样做,它必须工作:

use App\Models\Category

并确保模型类别位于名为“模型”的文件夹内。

当在Controllers或Seeders中调用模型时,我也遇到了相同的错误。

最好的解决方案是将模型导入控制器中。

  • 将以下行添加到AdminController的顶部。

    use App\\Models\\Category

这适用于您尝试调用模型的所有类。

使用 App\Models\Category

//检查你的模型是大写字母还是小写字母有时这样的问题是个大问题

App\Models\Category

请检查这两件事

1.导入namespace App\Http\Controllers;

2、检查Controller字母是大写还是小写
像这样

use App\models\Category----->❌❌❌
use App\Models\Category----->✅✅✅

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM