/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($idEsdeveniment, $idAssistent) { // Comprobamos si el esdeveniment que nos están pasando existe o no. $esdeveniment = Esdeveniment::find($idEsdeveniment); // Si no existe ese esdevenimentd evolvemos un error. if (!$esdeveniment) { // Se devuelve un array errors con los errores encontrados y cabecera HTTP 404. // En code podríamos indicar un código de error personalizado de nuestra aplicación si lo deseamos. return response()->json(['errors' => array(['code' => 404, 'message' => 'No se encuentra un fabricante con ese código.'])], 404); } // El esdeveniment existe entonces buscamos el assistent que queremos borrar asociado a ese esdeveniment. $assistent = $esdeveniment->assistents()->find($idAssistent); // Si no existe ese assistent devolvemos un error. if (!$assistent) { // Se devuelve un array errors con los errores encontrados y cabecera HTTP 404. // En code podríamos indicar un código de error personalizado de nuestra aplicación si lo deseamos. return response()->json(['errors' => array(['code' => 404, 'message' => 'No se encuentra un assistent con ese código asociado a ese esdeveniment.'])], 404); } // Procedemos por lo tanto a eliminar el assistent. $assistent->delete(); // Se usa el código 204 No Content – [Sin Contenido] Respuesta a una petición exitosa que no devuelve un body (como una petición DELETE) // Este código 204 no devuelve body así que si queremos que se vea el mensaje tendríamos que usar un código de respuesta HTTP 200. return response()->json(['code' => 204, 'message' => 'Se ha eliminado el assistent correctamente.'], 204); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // Primero eliminaremos todos los assistents de un esdeveniment y luego el esdeveniment en si mismo. // Comprobamos si el esdeveniment que nos están pasando existe o no. $esdeveniment = Esdeveniment::find($id); // Si no existe ese esdeveniment devolvemos un error. if (!$esdeveniment) { // Se devuelve un array errors con los errores encontrados y cabecera HTTP 404. // En code podríamos indicar un código de error personalizado de nuestra aplicación si lo deseamos. return response()->json(['errors' => array(['code' => 404, 'message' => 'No se encuentra un esdeveniment con ese código.'])], 404); } // El esdeveniment existe entonces buscamos todos los assistents asociados a ese esdeveniment. $assistents = $esdeveniment->assistents; // Sin paréntesis obtenemos el array de todos los assistents. // Comprobamos si tiene assitents ese esdeveniment. if (sizeof($assistents) > 0) { // Devolveremos un código 409 Conflict - [Conflicto] Cuando hay algún conflicto al procesar una petición, por ejemplo en PATCH, POST o DELETE. return response()->json(['code' => 409, 'message' => 'Este esdeveniment posee assistents y no puede ser eliminado.'], 409); } //comprobamos si tiene votacions ese esdeveniment. $votacions = $esdeveniment->votacions; if (sizeof($votacions) > 0) { // Devolveremos un código 409 Conflict - [Conflicto] Cuando hay algún conflicto al procesar una petición, por ejemplo en PATCH, POST o DELETE. return response()->json(['code' => 409, 'message' => 'Este esdeveniment posee votacions y no puede ser eliminado.'], 409); } // Procedemos por lo tanto a eliminar el fabricante. $esdeveniment->delete(); // Se usa el código 204 No Content – [Sin Contenido] Respuesta a una petición exitosa que no devuelve un body (como una petición DELETE) // Este código 204 no devuelve body así que si queremos que se vea el mensaje tendríamos que usar un código de respuesta HTTP 200. return response()->json(['code' => 204, 'message' => 'Se ha eliminado el esdeveniment correctamente.'], 204); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { $votacio = Votacio::find($id); $esd = Esdeveniment::find($votacio->esdeveniment_id); return view('votacioLayouts.edit')->with('vota', $votacio)->with('esd', $esd); }