/** * Gestiona la baja del registro del id y tabla pasados por parámetro y realimenta * la vista con el mensaje de éxito/error correspondiente. * * @param $tabla * @param $id * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function destroy($tabla, $id) { //Mismo algoritmo que en altas y modificaciones: // - Diferentes cases para cada modelo. // - Guardamos el resultado en un flag // - Retornamos la vista con variables que la realimentan // y le dicen a si mostrar el mensaje de éxito // o un error. $borrado = null; switch ($tabla) { case 'categorias': $borrado = Categoria::destroy($id); break; case 'peticiones': $borrado = Peticion::destroy($id); break; case 'productos': $borrado = Producto::destroy($id); break; case 'subcategorias': $borrado = Subcategoria::destroy($id); break; case 'usuarios': $borrado = Usuario::destroy($id); break; case 'usuarios_productos': $borrado = Usuario_producto::destroy($id); } $resultados = DB::table($tabla)->get(); $campos = DB::getSchemaBuilder()->getColumnListing($tabla); return view('cpanel', ['exito' => $borrado, 'editar' => false, 'nuevo' => false, 'tabla' => $tabla, 'id' => '', 'campos' => $campos, 'resultados' => $resultados, 'tablas' => DB::select('SHOW TABLES'), 'ddbb' => 'Tables_in_' . env('DB_DATABASE')]); }