@csrf @if ($isEdit) @method('PUT') @endif

¿No encuentras al encargado?

{{-- Selector de tipo --}}
{{-- Campo dinámico según el tipo --}}
@php // Si estamos en edición, $meta debería existir; si es create, $meta puede ser null. // 1) Primero intentamos recuperar valores viejos (old) en caso de validación fallida $objetivosOld = old('objetivos_estrategias'); if (!empty($objetivosOld) && is_array($objetivosOld)) { $objetivos = $objetivosOld; } else { // 2) Si hay $meta y viene como array (por cast), lo usamos; si viene como JSON lo decodificamos if (isset($meta)) { if (is_array($meta->objetivos_estrategias)) { $objetivos = $meta->objetivos_estrategias; } elseif (is_string($meta->objetivos_estrategias) && !empty($meta->objetivos_estrategias)) { $objetivos = json_decode($meta->objetivos_estrategias, true) ?: []; } else { $objetivos = []; } } else { $objetivos = []; } } // Asegurarnos que siempre sea array if (!is_array($objetivos)) { $objetivos = []; } // Si no hay objetivos, añadimos un input vacío para que el usuario pueda escribir al menos uno if (empty($objetivos)) { $objetivos[] = ''; } @endphp
@foreach (json_decode($meta->objetivos_estrategias, true) ?? $objetivos as $obj)
@endforeach
@php // ✅ LEER CORRECTAMENTE COMO JSON (igual que en create) $ejesPlan = $plan->ejes_estrategicos ? json_decode($plan->ejes_estrategicos, true) : []; $ejesPlan = is_array($ejesPlan) ? array_filter($ejesPlan) : []; // Ejes seleccionados: primero old() (si hay error de validación), // luego los de la meta (decodificados de JSON) $ejesSeleccionados = old('ejes_estrategicos', []); if (empty($ejesSeleccionados) && isset($meta)) { // Si no hay old(), usamos los ejes guardados en la meta $ejesMeta = json_decode($meta->ejes_estrategicos, true) ?? []; $ejesSeleccionados = is_array($ejesMeta) ? $ejesMeta : []; } @endphp @if (!empty($ejesPlan)) @foreach ($ejesPlan as $eje) @endforeach @else No hay ejes en el plan estratégico @endif
@foreach (json_decode($meta->nombre_actividades, true) as $actividad)
@endforeach