0, "mensaje" => "OK", "data" => $empresas ]; return response()->json($response, 200); } catch (Exception $e) { $response = [ "tipo" => 1, "mensaje" => "Error al obtener empresas: " . $e->getMessage(), "data" => [] ]; return response()->json($response, 500); } } /** * Método alternativo usando Query Builder para mayor flexibilidad * * @return JsonResponse */ public function obtenerEmpresasAlternativo(): JsonResponse { try { // Alternativa usando Query Builder si no tienes procedimientos almacenados // Ajusta según tu estructura de tabla $empresas = DB::table('empresas') ->select('*') ->orderBy('nombre') ->get(); $response = [ "tipo" => 0, "mensaje" => "OK", "data" => $empresas ]; return response()->json($response, 200); } catch (Exception $e) { $response = [ "tipo" => 1, "mensaje" => "Error al obtener empresas: " . $e->getMessage(), "data" => [] ]; return response()->json($response, 500); } } /** * Obtener empresa específica por ID * * @param int $id * @return JsonResponse */ public function obtenerEmpresaPorId(int $id): JsonResponse { try { $empresa = DB::table('empresas') ->where('id', $id) ->first(); if (!$empresa) { return response()->json([ "tipo" => 1, "mensaje" => "Empresa no encontrada", "data" => null ], 404); } $response = [ "tipo" => 0, "mensaje" => "OK", "data" => $empresa ]; return response()->json($response, 200); } catch (Exception $e) { $response = [ "tipo" => 1, "mensaje" => "Error al obtener empresa: " . $e->getMessage(), "data" => null ]; return response()->json($response, 500); } } }