2015-09-24 63 views
0

最初,此代碼可以工作,但它不再工作。我不知道是什麼導致了這個問題。Laravel - 類別/模型未找到

的錯誤是:

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
  2. composer dump-autoload

幾個小時前,我有一個工作項目,但現在我的模型沒有找到。

+0

「Category.php」中的命名空間是什麼? – BrokenBinary

+0

@brokenbinary,命名空間App。另外,如果我在'App/Category.php'創建一個模型,它會很好,並且工作。 –

回答

0

像這樣做,它必須努力:

use App\Models\Category 

,並確保該模型分類是一個文件夾命名爲模型內。

1

你的代碼似乎很好。 可能是它在類別模型中的名稱空間有問題。

,如果你使用的分類模式的代碼在你的AdminController控制器:

use App\Models\Category; 

那麼你的分類模型本身有這個命名空間

namespace App\Models; 

檢查你的模型命名空間仍然存在與否。

感謝

2

由於Laravel使用PSR-4 autoloading,你需要確保你的命名空間的實際目錄結構相匹配。

你說你的Category模型位於App/Models/Category.php,所以它的名字空間應該是App\Models。然後,在你的控制器中,你會use App\Models\Category

0

模型在控制器或播放器內部調用時,我也遇到了同樣的錯誤。

最好的解決方案是將您的模型導入到控制器中。

  • 將以下行添加到AdminController的頂部。

    use App\Models\Category

這適用於在您嘗試打電話給你的模型中的所有類。