php - The PUT method is not supported for this route. Supported methods: GET, HEAD, POST. while i use @method('PUT')
I've used the @method('PUT')
in my blade, but it still says the PUT
Method is not supported, does someone know what's wrong?
My routes are: routes
This is my workshops controller edit parameter and storage.
public function edit(Workshops $workshops)
{
$result = compact('workshops');
Json::dump($result);
return view('admin.workshops.edit', $result);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Workshops $workshops
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Workshops $workshops)
{
$this->validate($request,[
'name' => 'required|unique:workshops' . $workshops->id,
'datum' => 'required'. $workshops->id,
'plaatsen' => 'required' . $workshops->id,
'price' => 'required'
]);
$workshops->name = $request->name;
$workshops->datum = $request->datum;
$workshops->plaatsen = $request->plaatsen;
$workshops->price = $request->price;
$workshops->save();
session()->flash('success', 'The workshop has been updated');
return redirect('admin/workshops');
}
Answer
Solution:
Look in your routes file, you need Route::put() for the route you are trying to use. https://laravel.com/docs/7.x/routing#basic-routing
Answer
Solution:
You need to define your route with PUT as shown below
Route::put('/admin/workshops/{id}', 'ControllerName@methodName');
Official Laravel Documentation
Answer
Solution:
You have to use like this
Route::post('/admin/workshops/{id}', 'ControllerNameController@methodName');
Source