簡體   English   中英

Laravel - 找不到類/模型

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

我試過的:

  1. use App\Category; use Categoryuse \Categoryuse App\Models\Category
  2. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM