Porównaj ceny domen i usług IT, sprzedawców z całego świata

Argument 1 przekazany do kontrolera musi być instancją Illuminate \ Http \ Request?


Jestem całkiem nowy w laravel i szukałem wszędzie, ale nie mogłem naprawić tego błędu:

Argument 1 przekazany do InsertController :: insert () musi być instancją Illuminate \ Http \ Request nie ustawioną

Próbuję zweryfikować moje dane wejściowe, przekazując metodę żądania, więc nie muszę przepisywać nowej metody walidacji dla każdego formularza, ale zawsze wydaje mi się, że powoduje to ten błąd.
<?phpuse Illuminate\Http\Request;
use Illuminate\Routing\Controller;class InsertController extends Controller { public function insert(Request $request) {
$username = Input::get('username');
$pw = Hash::make(Input::get('pw'));
$email = Input::get('email'); $this->validate($request, ['name' => 'required|unique:users',
'password' => 'required|min:8|max:255',
'email' => 'required|email|unique:users']);
if(!$validator->fails()) {
$user = DB::table('users')->insert( ['email' => $email, 'password' => $pw, 'name' => $username]);
}
}}

Oto trasa, którą ja nazywam.
Route::post('users', ['uses' => 'InsertController@insert', 'before' => 'csrf'], function()
{
$users = User::all();//call the User model for all data in users table
return View::make('users')->with('users', $users);
});

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Powodem, dla którego to nie działa, jest to, że ten kod przekazuje wtrysk

Request

-Obiekt, który został wprowadzony wraz z Laravel 5

,

ale zainstalowana wersja frameworka to

4.2.17

.
Aby rozwiązać ten problem, możesz usunąć obiekt

żądanie

z sygnatury metody lub zaktualizuj Laravel do 5.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się