tabel ekosistem
This commit is contained in:
@@ -54,11 +54,10 @@ class TabelBasisDataController extends Controller
|
|||||||
abort(403);
|
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))
|
return (new TabelBasisDataResource($tabel))
|
||||||
->response()
|
->response();
|
||||||
->setStatusCode(201);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Validator;
|
|||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
use App\Models\Ekosistem\TabelBasisData;
|
use App\Models\Ekosistem\TabelBasisData;
|
||||||
use App\Models\Ekosistem\KolomBasisData;
|
use App\Models\Ekosistem\KolomBasisData;
|
||||||
@@ -173,7 +174,7 @@ class ValueBasisDataController extends Controller
|
|||||||
if (!Gate::any(['super_admin', 'admin'])) {
|
if (!Gate::any(['super_admin', 'admin'])) {
|
||||||
abort(403);
|
abort(403);
|
||||||
}
|
}
|
||||||
|
|
||||||
$tabel = TabelBasisData::with('kolom')
|
$tabel = TabelBasisData::with('kolom')
|
||||||
->whereHas('kolom', function ($query) {
|
->whereHas('kolom', function ($query) {
|
||||||
$query->where('is_active', true);
|
$query->where('is_active', true);
|
||||||
@@ -205,11 +206,11 @@ class ValueBasisDataController extends Controller
|
|||||||
if ($k->tipe == 'foreign_key') {
|
if ($k->tipe == 'foreign_key') {
|
||||||
$relasi['kolom_id'] = $k->id;
|
$relasi['kolom_id'] = $k->id;
|
||||||
try {
|
try {
|
||||||
$modelClass = $this->tableModelClassMap[$k->relasi_tabel] ?? null;
|
$modelClass = Arr::get($this->tableModelClassMap, 'master_desa_kelurahan');
|
||||||
if ($modelClass) {
|
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 {
|
} 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['options'] = $options_kolom->get();
|
||||||
$relasi['sql'] = $options_kolom->toSql();
|
$relasi['sql'] = $options_kolom->toSql();
|
||||||
@@ -404,7 +405,12 @@ class ValueBasisDataController extends Controller
|
|||||||
if ($k->tipe == 'foreign_key') {
|
if ($k->tipe == 'foreign_key') {
|
||||||
$relasi['kolom_id'] = $k->id;
|
$relasi['kolom_id'] = $k->id;
|
||||||
try {
|
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['options'] = $options_kolom->get();
|
||||||
$relasi['sql'] = $options_kolom->toSql();
|
$relasi['sql'] = $options_kolom->toSql();
|
||||||
} catch (\Throwable $th) {
|
} 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')),
|
// 'group' => new GroupBasisDataResource($this->whenLoaded('group')),
|
||||||
'kolom' => KolomBasisDataResource::collection($this->whenLoaded('kolom')),
|
'kolom' => KolomBasisDataResource::collection($this->whenLoaded('kolom')),
|
||||||
//'ringkasan' => RingkasanBasisDataResource::collection($this->whenLoaded('ringkasan')),
|
//'ringkasan' => RingkasanBasisDataResource::collection($this->whenLoaded('ringkasan')),
|
||||||
|
'form' => FormBasisDataResource::collection($this->whenLoaded('form')),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Models\wilayah;
|
namespace App\Models\Wilayah;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|||||||
Reference in New Issue
Block a user