php - 尝试使用 destroy 函数执行一些删除操作时说 Error:Missing required parameters for Route Laravel 6.0 我该如何修复它
问题描述
尝试使用destroy function()
上述错误我不知道如何修复它,我试图从我的应用程序中删除我的数据库的某些字段
- 下面我将让我的
index function()
,destroy function()
, 路由的代码以及我尝试调用 de 函数的 html
路线
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');
解决方案
//you have the `resource`
Route::resource('/eventos/{eventos}/miembros/{miembros}/asociados', 'miembroController');
这/eventos/{eventos}/miembros/{miembros}/asociados
就是你的 uri 的形状。
因为destroy
您还需要提供所有必要的数据{eventos}
和{miembros}
.(即eventos
id 和miembros
id),如您的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]) }}
推荐阅读
- php - 如何使用 PHP“mongodb”扩展从 MongoDB 获取原始 BSON
- ios - xcodebuild with maximum-concurrent-test-simulator-destinations 1 挂断
- python - 在 Python 中使用 subprocess.check_output 捕获日志输出
- amazon-web-services - Amazon SES 异常:IAM 用户无权对资源执行“ses:SendRawEmail”
- angular - 单击 ngx-leaflet 中的标记后,材质对话框未打开
- docker - docker module.js:550 抛出错误;^
- django - 允许 Django admin.site.register 接受超过 3 个参数
- javascript - 如何使用 react 和 typescript 在可重用组件中修复对象可能是未定义的错误?
- java - 如何制作具有准确边框的圆形 imageButton?
- c++ - TCP/IP 服务器代码在包含附加库后停止工作