簡體   English   中英

未找到Laravel 5 Model命名空間類

[英]Laravel 5 Model namespace class not found

我試圖將我的模型存儲在自定義命名空間和目錄結構中,如下所示:

在此輸入圖像描述

我有:

namespace Modules\Core;

use App\Http\Controllers\Controller;

class TestController extends Controller {

    public function index(){
        $user = new User;
        return view('core::test');
    }

}

但我得到:

FatalErrorException in TestController.php line 8:
Class 'Modules\Core\User' not found

無論如何哪個是錯的,所以我認為它必須是'Modules \\ Core \\ Models \\ User'。 我嘗試了這個,但我仍然遇到了同樣的錯誤(只是使用了不同的類名)。

我的模特:

namespace Modules\Core;

use Illuminate\Database\Eloquent\Model as Eloquent;

class User Extends Eloquent {
    protected $table = 'users';
}

如何在TestController中訪問此模型?


Route::group(array('namespace' => 'Modules\Core\Controllers'), function() {
    Route::get('/test', ['uses' => 'TestController@index']);
});

如果您的控制器存儲在Modules / Core / Controllers中,則命名空間應為namespace Modules\\Core\\Controllers;

同樣,如果模型存儲在Modules / Core / Models中,其命名空間是namespace Modules\\Core\\Models;

然后,在控制器中,在使用之前導入它:

<?php namespace Modules\Core\Controllers;

use Modules\Core\Models\User;
use App\Http\Controllers\Controller;

class TestController extends Controller {

    public function index(){
        $user = new User;
        return view('core::test');
    }

}

我遇到了與上面相同的問題。 在我的情況下,我有以下命名空間:

namespace Modules\XMLApi;

我得到了與上面相同的錯誤。 當我將命名空間更改為以下內容時:

namespace Modules\XmlApi;

然后運行以下命令:composer dump-autoload

然后它奏效了。

您應該編輯routes.php文件:

Route::group(array('namespace' => 'Modules\Core\Controllers'), function() {
    Route::get('/test', ['uses' => '\Modules\Core\TestController@index']);
});

與命名空間一起使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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