Функции удаления Laravel не работают с методом Post - PullRequest
0 голосов
/ 02 октября 2019

Я изучаю Php Laravel. Я использую Laravel версии 6.1. Я пытаюсь сделать операции CRUD. Мои методы вставки, обновления работают нормально, но когда я пытался удалить записи, я получаю следующее сообщение об ошибке:

Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD, PUT, PATCH, DELETE.

Вот мой маршрут.

Route::resource('products','ProductController');

Вот мой код контроллера.

 public function destroy(Product $product)
    {
        $product->delete();

        return redirect()->route('products.index')
                        ->with('success','Product deleted successfully');
    }

Вот код index.blade.php.

@extends('products.layout')

@section('content')
    <div class="row">
        <div class="col-lg-12 margin-tb">
            <div class="pull-left">
                <h2>Laravel 5.8 CRUD Example </h2>
            </div>
            <div class="pull-right">
                <a class="btn btn-success" href="{{ route('products.create') }}"> Create New Product</a>
            </div>
        </div>
    </div>

    @if ($message = Session::get('success'))
        <div class="alert alert-success">
            <p>{{ $message }}</p>
        </div>
    @endif

    <table class="table table-bordered">
        <tr>
            <th>No</th>
            <th>Name</th>
            <th>Details</th>
            <th width="280px">Action</th>
        </tr>
        @foreach ($products as $product)
        <tr>
            <td>{{ ++$i }}</td>
            <td>{{ $product->name }}</td>
            <td>{{ $product->detail }}</td>
            <td>
                <form action="{{ route('products.destroy',$product->id) }}" method="POST">

                    <a class="btn btn-info" href="{{ route('products.show',$product->id) }}">Show</a>

                    <a class="btn btn-primary" href="{{ route('products.edit',$product->id) }}">Edit</a>

                    @csrf
                    @method('DELETE')

                    <button type="submit" class="btn btn-danger">Delete</button>
                </form>
            </td>
        </tr>
        @endforeach
    </table>

    {!! $products->links() !!}

@endsection

Вот результат, когда я нажал кнопку удаления. enter image description here

1 Ответ

2 голосов
/ 02 октября 2019

Поставь свой метод выше @ crsf

<form action="{{ route('products.destroy',$product->id) }}" method="POST">

       <a class="btn btn-info" href="{{ route('products.show',$product->id) }}">Show</a>

        <a class="btn btn-primary" href="{{ route('products.edit',$product->id) }}">Edit</a>

        @method('DELETE')
        @csrf

     <button type="submit" class="btn btn-danger">Delete</button>
 </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...