最初,这段代码可以工作,但现在不工作了。我不知道是什么导致了这个问题。
错误为:
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
。
composer dump-autoload
.
几个小时前,我有一个正在工作的项目,但现在找不到我的模型。
5条答案
按热度按时间q35jwt9p1#
因为Laravel使用PSR-4 autoloading,所以需要确保名称空间与真实的目录结构匹配。
你说你的
Category
模型位于App/Models/Category.php
,所以它的命名空间应该是App\Models
,然后,在你的控制器中你应该是use App\Models\Category
。e5njpo682#
当模型在控制器或播种器中被调用时,我也遇到过同样的错误。
最佳解决方案是将您的模型导入到控制器中。
use App\Models\Category
这适用于您尝试调用模型的所有类。
syqv5f0l3#
像这样做,它一定会起作用:
并确保模型Category位于名为Models的文件夹中。
bihw5rsg4#
你的代码看起来很好。可能是类别模型中的命名空间有问题。
如果在AdminController控制器中对类别模型使用以下代码:
那么你的类别模型本身就有这个名称空间
检查您的模型名称空间是否仍然存在。
谢谢
ccrfmcuu5#
使用应用程序\型号\类别
//检查你的型号是大写还是小写有时候这样的问题是个大问题