public function deleteDestroy($id) { $img = ImageModel::findOrFail($id); $filename = 'images/perfil/' . $img->nombre; // Debería crear un código que impida borrar si la imagen es usada. if (File::exists($filename)) { File::delete($filename); $img->delete(); } else { return 'No se encuentra la imagen a eliminar. ' . $img->nombre; } // Elimino cualquier referencia que otros tengan a esa imagen borrada. $alumnos = Alumno::where('foto_id', $id)->get(); foreach ($alumnos as $alum) { $alum->foto_id = null; $alum->save(); } $profesores = Profesor::where('foto_id', $id)->get(); foreach ($profesores as $prof) { $prof->foto_id = null; $prof->save(); } $acudientes = Acudiente::where('foto_id', $id)->get(); foreach ($acudientes as $acud) { $acud->foto_id = null; $acud->save(); } $users = User::where('imagen_id', $id)->get(); foreach ($users as $user) { $user->imagen_id = null; $user->save(); } $years = Year::where('logo_id', $id)->get(); foreach ($years as $year) { $year->logo_id = null; $year->save(); } $asks = ChangeAsked::where('oficial_image_id', $id)->destroy(); return $img; }
public function putSolicitarCambios() { $user = User::fromToken(); $tipo = Request::input('tipo'); $id = Request::input('persona_id'); if ($tipo == 'Al') { $alumno = Alumno::where('id', $id)->first(); /* $consulta = 'SELECT c.id, c.asked_by_user_id, c.asked_to_user_id, c.asked_to_user_id, c.comentario_pedido, a.id as alumno_id, a.nombres as nombres_alum, a.apellidos as apellidos_alum, c.rechazado_at, c.accepted_at, c.periodo_asked_id, c.year_asked_id, c.created_at, c.deleted_at, c.deleted_by, u.tipo FROM change_asked c inner join users u on u.id=c.asked_by_user_id left join alumnos a on a.user_id=u.id WHERE c.deleted_at is null'; $cambios = DB::select($consulta); */ $cambios = []; if ($alumno->nombres != Request::input('nombres') && Request::input('nombres')) { $cambios['nombres'] = Request::input('nombres'); } if ($alumno->apellidos != Request::input('apellidos') && Request::input('apellidos')) { $cambios['apellidos'] = Request::input('apellidos'); } if ($alumno->sexo != Request::input('sexo') && Request::input('sexo')) { $cambios['sexo'] = Request::input('sexo'); } if ($alumno->fecha_nac != Request::input('fecha_nac') && Request::input('fecha_nac')) { $fecha_nac_new = Request::input('fecha_nac'); $fecha_nac_old = $alumno->fecha_nac->format('Y-m-d'); if ($fecha_nac_new != $fecha_nac_old) { $cambios['fecha_nac'] = $fecha_nac_new; $cambios['fecha_nac_old'] = $fecha_nac_old; } } if (Request::has('ciudad_nac')) { $ciudad_id = null; if (Request::input('ciudad_nac')['id']) { $ciudad_id = Request::input('ciudad_nac')['id']; } else { $ciudad_id = Request::input('ciudad_nac'); } if ($alumno->ciudad_nac != $ciudad_id && $ciudad_id) { $cambios['ciudad_nac'] = $ciudad_id; } } return $cambios; } }