laravel 5 型号 Class 未找到

laravel 5 models Class not found

我对 laravel 5 中的模型有疑问

我想访问我的模型并获取 return 值。但这不起作用:(

app/Http/Controllers/MemberController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\Model;
class MemberController extends Controller
{
    public function index()
    {
        return MemberModel::test();
    }
} 

app/Model/MemberModel.php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class MemberModel extends Model
{
    public function test(){
        return "123";
    }
}

routes.php

Route::get('test', 'MemberController@index');

错误信息是..

FatalErrorException in MemberController.php :
Class 'App\Http\Controllers\MemberModel' not found

您将模型保存在模型文件夹中 所以应该是

use App\Model\MemberModel;

有 2 个选项,一个是您需要使用命名空间,否则使用那种方式

public function index()
{
    return \App\MemberModel::test();
}

您还可以在 composer.json

中将位置添加到 psr-4
...
"autoload": {
    "classmap": [
        "database",
        "app/models"
    ],
    "psr-4": {
        "App\": "app/",
    }
},

运行 作曲家转储自动加载 您可以按名称注入模式

use Model;