[英]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.