2015-03-17 14 views
6

Prawdopodobnie widzisz, że jestem bardzo nowy w laravel. Ja wpadłem na problem gdzie mogę się wydawać, aby zobaczyć nową klasę zrobiłem ...Utwórz zapytanie nie działa

pierwsze wpadłem ....

php artisan make:request CreateSongRequest 

co z kolei wygenerowany plik CreateSongRequest.php w app/HTTP/kupna/

zawartość ...

<?php namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class CreateSongRequest extends Request { 

    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 

      // 
     ]; 
    } 

} 

W moim kontroler mam postać pocztą na następujący sposób ...

public function store(CreateSongRequest $request, Song $song) { 


    $song->create($request->all()); 

    return redirect()->route('songs_path'); 
} 

Kiedy przesłać formularz, IM otrzymuję następujący błąd ...

ReflectionException w RouteDependencyResolverTrait.php linii 53: Ćwiczenia aplikacji \ http \ Sterowniki \ CreateSongRequest nie istnieje

+0

Mój przypadek polegał na tym, że wystąpił błąd składniowy w klasie żądania niestandardowego (w Twoim przypadku CreateSongRequest), która uniemożliwiała załadowanie. Tak więc gdy metoda kontenera jej szukała, nie mogła zostać załadowana. Przewijanie pierwszego wyjątku ujawniło drugi wyjątek z błędem składni. Mam nadzieję, że to pomaga komuś. – astroanu

Odpowiedz

9

Trzeba dodać ten na górze kontrolera:

use App\Http\Requests\CreateSongRequest; 
0

Spróbuj tego .. to działa ..

public function store(Request $request, Song $song) 
{ 

    $this->validate($request, [ 
     'title' => 'required', 
     'slug' => 'required|unique:songs,slug', 
    ]); 

    $song->create($request->all()); 
    return redirect()->route('songs_path'); 

} 

Źródło: http://laravel.com/docs/5.1/validation

Powiązane problemy