我正在尝试在Laravel项目中进行刷新选项。我在public function refresh()
中创建了CarsController
。这个想法是使created_at
获得当前时间,因为我的车是由orderBy('created_at'. 'desc')->get();
订购的。这是我的public function refresh()
中的我的CarsController
:
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function refresh($id)
{
$car = Car::find($id);
$car->created_at = Carbon::now();
$car->save();
return redirect('/cars');
}
这是我的刀片中的Form
:
{!!Form::open(['action' => ['CarsController@refresh', $car->id], 'method' => 'PUT'])!!}
{{Form::hidden('_method', 'PUT')}}
{{Form::submit('Refresh', ['class' => 'btn btn-success'])}}
{!!Form::close()!!}
这是我的web.php
路线:
Route::get('/cars/{id}', 'CarsController@refresh');
我做错了什么?请帮忙。谢谢!
HTML表单不支持PUT,PATCH或DELETE操作。要解决此问题,请将您的表单更改为此。
{!!Form::open(['action' => ['CarsController@refresh', $car->id], 'method' => 'GET'])!!}
{{Form::submit('Refresh', ['class' => 'btn btn-success'])}}
{!!Form::close()!!}
您将删除此行,因为laravel希望您有一个put请求而不是get请求。
{{Form::hidden('_method', 'PUT')}}
对于方法重载,请尝试以下代码:
{{Form::hidden('_method', 'GET')}}