diff --git a/app/Http/Controllers/Api/Ekosistem/TabelBasisDataController.php b/app/Http/Controllers/Api/Ekosistem/TabelBasisDataController.php index 4f6512d..f02ee4f 100644 --- a/app/Http/Controllers/Api/Ekosistem/TabelBasisDataController.php +++ b/app/Http/Controllers/Api/Ekosistem/TabelBasisDataController.php @@ -54,11 +54,10 @@ class TabelBasisDataController extends Controller abort(403); } - $tabel = TabelBasisData::with('kolom')->findOrFail($id); + $tabel = TabelBasisData::with('kolom', 'form', 'form.form', 'form.form.form', 'form.form.form.kolom')->findOrFail($id); return (new TabelBasisDataResource($tabel)) - ->response() - ->setStatusCode(201); + ->response(); } /** diff --git a/app/Http/Controllers/Web/Ekosistem/ValueBasisDataController.php b/app/Http/Controllers/Web/Ekosistem/ValueBasisDataController.php index 16597ca..ce3e301 100644 --- a/app/Http/Controllers/Web/Ekosistem/ValueBasisDataController.php +++ b/app/Http/Controllers/Web/Ekosistem/ValueBasisDataController.php @@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Validator; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Str; +use Illuminate\Support\Arr; use App\Models\Ekosistem\TabelBasisData; use App\Models\Ekosistem\KolomBasisData; @@ -173,7 +174,7 @@ class ValueBasisDataController extends Controller if (!Gate::any(['super_admin', 'admin'])) { abort(403); } - + $tabel = TabelBasisData::with('kolom') ->whereHas('kolom', function ($query) { $query->where('is_active', true); @@ -205,11 +206,11 @@ class ValueBasisDataController extends Controller if ($k->tipe == 'foreign_key') { $relasi['kolom_id'] = $k->id; try { - $modelClass = $this->tableModelClassMap[$k->relasi_tabel] ?? null; + $modelClass = Arr::get($this->tableModelClassMap, 'master_desa_kelurahan'); if ($modelClass) { - $options_kolom = $modelClass::select($k->relasi_kolom_label . ' as label', $k->relasi_kolom_id . ' as value')->whereNull('deleted_at'); + $options_kolom = $modelClass::select($k->relasi_kolom_label . ' as label', $k->relasi_kolom_id . ' as value')->limit(10000); } else { - $options_kolom = DB::table($k->relasi_tabel)->selectRaw($k->relasi_kolom_label . ' as label, ' . $k->relasi_kolom_id . ' as value')->whereNull('deleted_at'); + $options_kolom = DB::table($k->relasi_tabel)->selectRaw($k->relasi_kolom_label . ' as label, ' . $k->relasi_kolom_id . ' as value')->whereNull('deleted_at')->limit(10000); } $relasi['options'] = $options_kolom->get(); $relasi['sql'] = $options_kolom->toSql(); @@ -404,7 +405,12 @@ class ValueBasisDataController extends Controller if ($k->tipe == 'foreign_key') { $relasi['kolom_id'] = $k->id; try { - $options_kolom = DB::table($k->relasi_tabel)->selectRaw($k->relasi_kolom_label . ' as label, ' . $k->relasi_kolom_id . ' as value')->whereNull('deleted_at'); + $modelClass = Arr::get($this->tableModelClassMap, 'master_desa_kelurahan'); + if ($modelClass) { + $options_kolom = $modelClass::select($k->relasi_kolom_label . ' as label', $k->relasi_kolom_id . ' as value')->limit(10000); + } else { + $options_kolom = DB::table($k->relasi_tabel)->selectRaw($k->relasi_kolom_label . ' as label, ' . $k->relasi_kolom_id . ' as value')->whereNull('deleted_at')->limit(10000); + } $relasi['options'] = $options_kolom->get(); $relasi['sql'] = $options_kolom->toSql(); } catch (\Throwable $th) { diff --git a/app/Http/Resources/Ekosistem/FormBasisDataResource.php b/app/Http/Resources/Ekosistem/FormBasisDataResource.php new file mode 100644 index 0000000..9b64112 --- /dev/null +++ b/app/Http/Resources/Ekosistem/FormBasisDataResource.php @@ -0,0 +1,32 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->id, + 'tabel_id' => $this->tabel_id, + 'parent_id' => $this->parent_id, + 'tipe' => $this->tipe, + 'column_width' => $this->column_width, + 'kolom_id' => $this->kolom_id, + 'section_label' => $this->section_label, + 'urutan' => $this->urutan, + 'kolom' => new KolomBasisDataResource($this->whenLoaded('kolom')), + 'form' => FormBasisDataResource::collection($this->whenLoaded('form')), + ]; + } +} diff --git a/app/Http/Resources/Ekosistem/TabelBasisDataResource.php b/app/Http/Resources/Ekosistem/TabelBasisDataResource.php index 2b2feb6..5b4de9e 100644 --- a/app/Http/Resources/Ekosistem/TabelBasisDataResource.php +++ b/app/Http/Resources/Ekosistem/TabelBasisDataResource.php @@ -29,6 +29,7 @@ class TabelBasisDataResource extends JsonResource // 'group' => new GroupBasisDataResource($this->whenLoaded('group')), 'kolom' => KolomBasisDataResource::collection($this->whenLoaded('kolom')), //'ringkasan' => RingkasanBasisDataResource::collection($this->whenLoaded('ringkasan')), + 'form' => FormBasisDataResource::collection($this->whenLoaded('form')), ]; } } diff --git a/app/Models/Wilayah/DesaKelurahan.php b/app/Models/Wilayah/DesaKelurahan.php index ac8beef..123a402 100644 --- a/app/Models/Wilayah/DesaKelurahan.php +++ b/app/Models/Wilayah/DesaKelurahan.php @@ -1,6 +1,6 @@