2016-12-01 3 views
2

Ich habe Laravel Version 5.3 und i erstellt eine Datei createArticleRequest.php unter dem request Ordner, die wie unten aussieht:Anfrage nicht Fehler in Laravel Controller gefunden

<?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', 
     ] 
    } 


} 

?> 

in meinen Artikeln Controller habe ich die folgende Methode:

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

Aber wenn ich füllen Sie das Formular aus meiner Sicht und klicken Sie anschließend auf ich erhalte eine Fehlermeldung wie so:

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

Warum bekomme ich diesen Fehler ??

Ich glaube, meine Artikel Controller und meine createArticlesRequest sind in der gleichen namespace also warum bin ich getthing diesen Fehler?

+0

Der Controller sucht im App \ Http \ Controllers-Namespace nach CreateArticlesRequent, verweisen Sie also vollständig darauf als "öffentlichen Funktionsspeicher (App \ Http \ Requests \ CreateArticleRequest $ request)" – markdwhite

Antwort

2

sollten Sie PHP verwenden use Schlüsselwort an der Spitze der PHP-Datei, so dass PHP die CreateArticleRequest Paket Klasse im richtigen Namensraum wie diese finden können:

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

} 

hoffe, das hilft!

Verwandte Themen