tabel ekosistem

This commit is contained in:
2026-05-26 16:32:25 +07:00
parent e194658c28
commit 7681984d89
5 changed files with 47 additions and 9 deletions
@@ -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();
}
/**
@@ -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;
@@ -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) {
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Resources\Ekosistem;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Http\Resources\Ekosistem\KolomBasisDataResource;
class FormBasisDataResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
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')),
];
}
}
@@ -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')),
];
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
<?php
namespace App\Models\wilayah;
namespace App\Models\Wilayah;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;