2016-12-01 59 views
2

我有Laravel版本5.3和我的request文件夾,它看起來像下面下創建的文件createArticleRequest.php請求未發現錯誤laravel控制器

<?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 

爲什麼我得到這個錯誤?

我相信我的文章控制器和我的createArticlesRequest是在相同的namespace所以爲什麼我得到這個錯誤?

+0

控制器正在App \ Http \ Controllers命名空間中尋找CreateArticlesRequent,所以完全引用它爲「公共函數存儲(App \ Http \ Requests \ CreateArticleRequest $ request)」 – markdwhite

回答

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'); 
    } 

} 

希望這有助於!

相關問題