Home > Software design >  Difference b/w method="POST" and @method('PUT') in Laravel
Difference b/w method="POST" and @method('PUT') in Laravel

Time:08-21

I am use a form with attribute method="POST" to update the record in laravel. But updating of record is not working. Then after putting @method('PUT') inside the form, record updating is working fine.

I just want to know about @method('PUT') and when to use it in form of Laravel application.

Not Working

<form action="{{ route('student.update',$studentData->id) }}" method="POST">
...
</form>

Working Fine

<form action="{{ route('student.update',$studentData->id) }}" method="POST">
    @csrf
    @method('PUT')
    ...
</form>

CodePudding user response:

What does your web.php file look like ? If you're using Route::resource('student', SomeController::class)

POST method will hit your student.create route, while PUT will hit your student.update route.

You can check your routes and their respective methods in detail by running php artisan route:list in your console

CodePudding user response:

The use of @method(...) is called form method spoofing in Laravel and is a requirement because HTML forms do no support PUT, PATCH or DELETE for the method attribute.

The value of the @method is sent as part of the form request and used by Laravel to determine how to process the form submission.

  • Related