Laravel - 未找到类/型号

时间:2015-09-24 22:32:54

标签: php laravel models

最初,此代码有效,但它不再起作用。我不知道造成这个问题的原因。

错误是:

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);
    }
}

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

我尝试了什么:

  1. use App\Category;更改为use Category,更改为use \Category,更改为use App\Models\Category
  2. composer dump-autoload
  3. 几个小时前我有一个工作项目,但现在找不到我的模型了。

4 个答案:

答案 0 :(得分:2)

由于Laravel使用WCAG 2.0,您需要确保您的命名空间与真实的目录结构相匹配。

您说App/Models/Category.php模型位于App\Models,因此其名称空间应为use App\Models\Category。然后,在您的控制器中,您将rails g model Absence user:references company:references from:date to:date date:date category:integer hours:decimal remarks

答案 1 :(得分:1)

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

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

use App\Models\Category;

然后您的类别模型本身具有此命名空间

namespace App\Models;

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

由于

答案 2 :(得分:0)

这样做,必须有效:

use App\Models\Category

并确保模型Category位于名为Models的文件夹中。

答案 3 :(得分:0)

在控制器或播种机中调用模型时,我也遇到了同样的错误。

最佳解决方案是在控制器中导入您的模型。

  • 在AdminController顶部添加以下行。

    use App\Models\Category

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