首页 > 解决方案 > 尝试使用 destroy 函数执行一些删除操作时说 Error:Missing required parameters for Route Laravel 6.0 我该如何修复它

问题描述

尝试使用destroy function()上述错误我不知道如何修复它,我试图从我的应用程序中删除我的数据库的某些字段

路线

Route::resource('/eventos/{eventos}/miembros/{miembros}/asociados', 'miembroController');

Index function()


public function index(Request $request, $id_evento,$id_miembro){
        $miembros = DB::select(DB::raw(
            "SELECT id_miembro, razon_social, denominacion_comercial, web,
                    rif
            FROM miembro
           " ));

        return view ('home.miembro')->with('miembros', $miembros)->with('id_evento', $id_evento)->with('id_miembro', $id_miembro);
    }

Destroy function()

 public function destroy($id)
    {
        $miembro=Miembro::find($id);
        $miembro->delete();
        return back()->with('Evento eliminado');
    }

* 我尝试使用的 HTML 代码destroy function()*

                <td>
                     <form action={{ route('asociados.destroy', ['asociados' => $item->id_miembro]) }} method="POST" class="d-inline">
                    @csrf
                    @method('DELETE')
                    <button class="btn btn-dark btn-sm" type="submit">Eliminar</button>
                  </form>
                </td>

所有路线

Route::resource('/eventos', 'EventoController');

Route::resource('/detalle', 'DetalleController');

Route::resource('/entradas', 'EntradaController');

Route::resource('/eventos/{evento}/entradas', 'EntradaController');

//Route::resource('/horario', 'HorarioController');
//Route::resource('/eventos/{evento}/horarios', 'HorarioeventoController');
Route::resource('/eventos/{evento}/horarios/{eventos}/funciona', 'HorarioController');

Route::resource('/eventos/{evento}/horarios/{horario}/hola', 'HorarioeventoController');

//Route::resource('/miembros', 'MiembroController');

Route::delete('/miembros/{id}', 'miembroController@destroy')->name('miembrosDestroy'); //-----ver----

Route::resource('/contactos', 'Persona_de_contactoController');

Route::resource('/miembros/{miembros}/contactos', 'Persona_de_contactoController');

Route::resource('/miembros/{miembros}/telefonos', 'TelefonoController');

Route::resource('/correos/{correo}/miembros', 'CorreoController');

Route::resource('/miembros/{miembros}/correos', 'CorreoController');

Route::resource('/eventos/{eventos}/miembros/{miembros}/asociados', 'miembroController');

Route::resource('/eventos/{eventos}/miembros/{miembros}/miembroevento', 'Miembro_eventoController');

Route::resource('/tipoCerveza', 'Tipo_cervezaController');

Route::resource('/cervezas/{cervezas}/tipos', 'CervezaController');

标签: phplaravelpostgresql

解决方案


//you have the `resource` 
Route::resource('/eventos/{eventos}/miembros/{miembros}/asociados', 'miembroController');

/eventos/{eventos}/miembros/{miembros}/asociados就是你的 uri 的形状。

因为destroy您还需要提供所有必要的数据{eventos}{miembros}.(即eventosid 和miembrosid),如您的index. 而不仅仅是$id.

或者,如果您不想更改破坏功能,可以添加另一个。

Route::resource('/eventos/{eventos}/miembros/{miembros}/asociados', 'miembroController');

Route::delete('/miembros/{id}', 'miembroController@destroy')->name('miembrosDestroy');

如果您采用这种方法,您还需要更改 html 表单操作。

我将路线更新为命名路线,以您的形式

action={{ route('miembrosDestroy', ['id' => $item->id_miembro]) }}

推荐阅读