2015-03-17 30 views
6

Muhtemelen Im çok yeni laravel için görebilirsiniz. Ben ... ben yaptığım yeni sınıf görmek cant sorunu koştum varlaravel istek oluşturma Not

Öncelikle

koştum .... sırayla bir CreateSongRequest.php dosyayı oluşturan

php artisan make:request CreateSongRequest 

Uygulamanın/Http/... Ben şu yönteme formu post var benim denetleyicisi olarak/

içerik ...

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

      // 
     ]; 
    } 

} 

İstekleri

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


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

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

Ben formu, Im alma aşağıdaki hatayı ... RouteDependencyResolverTrait.php 53 numaralı hat içinde

ReflectionException gönderdiğinizde: Sınıf App \ Http Kontrolörler CreateSongRequest ekleyebilir gerek

+0

Durumum, özel istek sınıfında (sizin durumunuzda CreateSongRequest) yüklenmesini engelleyen bir sözdizimi hatası oluştu. Konteyner yöntemi aradığında, yüklenemedi. İlk istisnayı aşağı kaydırmak, sözdizimi hatasıyla ikinci istisnayı ortaya çıkardı. Umarım bu birisine yardım eder. – astroanu

cevap

9

yok \ \ kontrolörünüzün üstündeki bu:

use App\Http\Requests\CreateSongRequest; 
0

.. .. çalışıyor bu deneyin

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

} 

Kaynak: http://laravel.com/docs/5.1/validation