最初,此代码有效,但它不再起作用。我不知道造成这个问题的原因。
错误是:
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
。
我尝试了什么:
use App\Category;
更改为use Category
,更改为use \Category
,更改为use App\Models\Category
。composer dump-autoload
。几个小时前我有一个工作项目,但现在找不到我的模型了。
答案 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
这适用于您尝试调用模型的所有类。