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);
});
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
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.