2015-10-14 21 views
8

pracuję z laravel i za każdym razem mam przedstawić moją postać daje mi ten błąd:laravel Argument 2 musi być tablicą

ErrorException w Factory.php linii 91: argument 2 przekazany do Illuminate \ Validation \ Factory :: make() musi należeć do tablicy typów, podana wartość null, wywoływana w /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php w linii 83 i zdefiniowana jako

To jest kod dla kontrolera, nawet jeśli nie próbuję wysyłać danych do bazy danych, daje mi ten błąd. (Teraz to tylko przekierowanie)

public function store(StoreProjectRequest $request) 
{ 


    return Redirect::to('/index'); 

} 

ten sposób zdefiniowałem moich tras:

Route::get('/projects','[email protected]'); 
Route::get('/create','[email protected]'); 

Route::post('/create','[email protected]'); 

Linia błąd odnosi się to, co jest w sekcji wrócić tu:

protected function getValidatorInstance() 
{ 
    $factory = $this->container->make('Illuminate\Validation\Factory'); 

    if (method_exists($this, 'validator')) { 
     return $this->container->call([$this, 'validator'], compact('factory')); 
    } 

    return $factory->make(
     $this->all(), $this->container->call([$this, 'rules']), $this->messages(), $this->attributes() 
    ); 
} 

Czy ktoś może mi pomóc? Dziękuję Ci!

+0

Musisz opublikować kod dla 'Validator :: make()'. Upewnij się, że pierwszym parametrem jest tablica wejściowa np .: '$ request-> all()', a drugim parametrem jest twoja tablica reguł np .: '['email' => 'required | email' ...]' –

+0

dziękuję do opublikowania tego pytania !!! – Simer

+0

Miałem częściową instalację frameworka, który spowodował dokładnie ten sam błąd. Skopiowałem wszystkie pliki ponownie (przywracając brakujące pliki), a następnie problem zniknął. –

Odpowiedz

11

Problem dotyczy metody StoreProjectRequest i rules(). Powinien zwrócić tablicę iw swoim kodzie prawdopodobnie zwróci coś innego. Sprawdź to, proszę.

+0

uratowałeś mój dzień Maxim. Nowicjusz dla laravel. Dzięki za tonę !!! Przez pomyłkę usunąłem instrukcję return, ponieważ podawała błąd. – Simer

+0

To działało dla mnie ... – Cholowao

Powiązane problemy