Laravel Отсутствуют обязательные параметры для [Маршрут: уничтожить] - PullRequest
0 голосов
/ 16 июня 2020

Я создал маршрут, как показано ниже

Route::resource('reports/', 'ReportController')->middleware('auth');

В списке маршрутов у меня есть список, как показано ниже

DELETE    | reports/{}             | destroy          | App\Http\Controllers\ReportController@destroy  

В index.blade. php Я создал кнопку удаления, например ниже

<form method="post" action="{{route('destroy',['report'=>$report->id])}}" onsubmit="return confirm('Are you sute to delete?')">
             @csrf 
             @method("delete")
             <button type="submit" class="btn btn-danger btn-sm">Delete</button>
 </form>

ReportController Метод уничтожения:

public function destroy(Report $report)
{
     //
}

Но я получаю ошибку ниже

Missing required parameters for [Route: destroy] [URI: reports/{}].

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Удалите / из вашего маршрута

Route::resource('reports/', 'ReportController')->middleware('auth');

до

Route::resource('reports', 'ReportController')->middleware('auth');

Проверьте do c

0 голосов
/ 16 июня 2020

Ваш маршрут должен выглядеть так:

DELETE    | reports/{report}             | destroy          | App\Http\Controllers\ReportController@destroy 

И отчет модели должен быть добавлен в RouteServiceProvider. php вот так:

public function boot()
{
    parent::boot();

    Route::model('report', App\Report::class);

Это привязка модели маршрута. Читайте здесь https://laravel.com/docs/7.x/routing#explicit -переплет

...