Laravel - освежающие посты - PullRequest
       39

Laravel - освежающие посты

0 голосов
/ 16 января 2020

Я пытаюсь сделать опцию refre sh в моем 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');

Что я делаю не так? Пожалуйста помоги. Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 января 2020

HTML формы не поддерживают действия PUT, PATCH или DELETE. Чтобы решить эту проблему, измените свою форму на эту.

{!!Form::open(['action' => ['CarsController@refresh', $car->id], 'method' => 'GET'])!!}
   {{Form::submit('Refresh', ['class' => 'btn btn-success'])}}
{!!Form::close()!!}

вы удалите эту строку, поскольку laravel будет ожидать, что ваша с запросом пут вместо запроса на получение.

{{Form::hidden('_method', 'PUT')}}
0 голосов
/ 16 января 2020

Для перегрузки метода попробуйте следующий код:

{{Form::hidden('_method', 'GET')}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...