/** * Almacena la petición en la tabla Peticiones usando el método del modelo Peticion. * * @param Request $request * @param $id * @return \Illuminate\Http\Response * @internal param array $data */ public function store(Request $request, $id) { return Peticion::alta($request, $id); }
/** * 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')]); }
/** * Método para dar un registro de alta en la tabla. Se aprovecha el método create de la * clase Model. Se usa el objeto Request y el id del usuario relacionado con la * petición coo parámetros para la creación del registro. * * @param $request * @param $id * @return static */ public static function alta($request, $id) { return Peticion::create(['email_respuesta' => $request->email_respuesta, 'asunto' => $request->asunto, 'mensaje' => $request->mensaje, 'usuario' => $id]); }