удалить функцию Laravel 5.2

Недавно я изучал laravel 5.2, и я сделал функцию удаления, которая должна удалять записи из моей базы данных, но вместо удаления записей она добавляет пустую строку в мою базу данных

Это маршрут im с помощью:

Route::resource('producten', 'ProductenController', ['only' => ['index', 'store', 'destroy', 'edit', 'update', 'create']]);

Это функция контроллера, которую я использую для нее

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

    return redirect(Route('producten.index'));
}

Это форма, которую я сделал для него.

 {{ Form::Open(['Route' => 'producten.destroy', $product], ['method' => 'delete']) }}
                 {{ Form::Submit('delete')}}
              {{ Form::close() }}

когда я просматривал исходный код, он сказал, что он использует метод POST вместо метода delete, а также когда я добавляю ($product), я получил пустую страницу, Также я узнал, что, когда я нажимаю кнопку submit, он идет в метод магазина, который я сделал, и я не знаю, почему,

если вам нужна дополнительная информация, просто дайте мне знать, и я добавлю ее в вопрос

2 ответа

  1. маршрут и метод должны находиться в одном массиве, а не в двух разных массивах.

    {{ Form::Open(['method' => 'DELETE', 'route' => ['producten.destroy', $product]]) }}
        {{ method_field('DELETE') }}
        {{ Form::Submit('delete')}}
    {{ Form::close() }}
    
  2. Я думаю, у тебя что-то не так с формой. Можете попробовать с этим:

    <form action="{{ route('producten.destroy', ['product' => $product->id]) }}" method="POST">
        {{ csrf_field() }}
        {{ method_field('DELETE') }}
    
        <button type="submit">Remove</button>
    </form>