Вы определили следующий маршрут в вашем файле.
Route::delete('/destroy/{$id}', 'HomeController@destroy')->name('destroy');
Это создаст маршрут DELETE . DELETE маршруты предназначены для доступа через API.Ссылки в тегах привязки используют маршруты GET .Нажатие на
<a href="{{ route('destroy' , $product->id) }}">{{ $product->files }}</a>
заставляет маршрутизатор пробовать и сопоставлять GET /destroy/{$id}
, который не определен, поэтому он генерирует либо исключение, если включена отладка, либо 404, если нет.Вы можете увидеть это в действии, посмотрев вкладку сети консоли разработчика вашего браузера.
Если вы не добавите еще один маршрут GET , вы получите 404 с.
Route::get('/destroy/{$id}', 'HomeController@destroy')->name('product.destroy-form');
заставит работать следующую ссылку.
<a href="{{ route('product.destroy-form' , $product->id) }}">{{ $product->files }}</a>
Кроме того, в методе destroy вы возвращаете представление без передачи переменных, но в destroy.blade.php
вы, похоже, используете $product
.Не забудьте добавить его!