在laravel控制器中请求未找到错误

时间:2016-12-01 14:58:29

标签: php laravel-5

我有Laravel版本5.3,我在createArticleRequest.php文件夹下创建了一个文件request,如下所示:

<?php namespace App\Http\Requests;

use App\Http\Requests\Request;

class CreateArticleRequest extends Request {


    public function authorize() {
        return true;
    }

    public function rules() {
        return  [
            'title' => 'required|min:3',
            'body'  => 'required',
            'published_at'  => 'required|date',
        ]
    }


} 

?> 

在我的文章控制器中,我有以下方法:

public function store(CreateArticleRequest $request) {
        // $input = Request::all();
        Article::create($request->all());
        return redirect('articles');
}

但是当我在我的视图中填写表单并单击提交时,我会收到如下错误:

ReflectionException in Route.php line 286:
Class App\Http\Controllers\CreateArticleRequest does not exist

为什么我会收到此错误?

我相信我的文章Controller和我的createArticlesRequest都在同一个namespace中,为什么我会得到这个错误?

1 个答案:

答案 0 :(得分:2)

您应该在PHP文件的顶部使用PHP'use关键字,以便php可以在右侧命名空间中找到CreateArticleRequest包类,如下所示:

namespace App\Http\Controllers;

use App\Http\Requests\CreateArticleRequest;

class Controller {

    public function store(CreateArticleRequest $request) {
            // $input = Request::all();
            Article::create($request->all());
            return redirect('articles');
    }

}

希望这有帮助!