2016-01-13 14 views
6

Sono nuovo nel framework di Laravel e ora affronta un problema durante il tentativo di aggiornare le informazioni degli utenti registrati.Laravel Request :: input Chiama al metodo non definito

Percorso:

Route::post('/user/{id}', function (Request $request, $id) { 
    return App\Http\Controllers\UsersController::update($request, $id); 
}); 

public static function update($request, $id) 
{ 
    $user = User::find($id); 
    $user->name = $request->input('name'); 
    ... 
    $user->save(); 
    ... 
} 

Errore:

FatalErrorException in UsersController.php line 24: Call to undefined method Illuminate\Support\Facades\Request::input()

risposta

11

Aggiungere la seguente importazione nella parte superiore del file:

use Illuminate\Http\Request; 

esempio in caso contrario il controller viene iniettato del Richiesta classe dallo spazio dei nomi globale che è un alias di Illuminate \ Support \ Facades \ Request ./

+0

Grazie! Ciò mi ha aiutato;) – Tom1410

+1

mi scusi per una domanda noob, ma ho pensato che tutti i metodi pubblici possono essere accessibili usando la facciata? – Fahmi

+1

Questo è vero, ma funziona solo se si chiama il metodo dato staticamente, ad es. 'Request :: input() '. Solo le chiamate statiche vengono inoltrate ai metodi di istanza dell'oggetto dietro la facciata. –

Problemi correlati