[英]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
。
我试过的:
use App\Category;
use Category
, use \Category
, use App\Models\Category
。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.