From 26120824542a53d3f3737e0111343eb890820552 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 30 Dec 2024 11:46:03 +0700 Subject: [PATCH] Perbaiki logika render dan optimasi query pada RegistrasiFinal - Menambahkan pengecekan null pada kolom tujuan_penilaian_kjpp di file Blade untuk menghindari error. - Mengubah query di controller dengan menggunakan query builder agar lebih efisien dan readable. - Menambahkan left join untuk mendapatkan nama tujuan penilaian langsung dalam query. --- app/Http/Controllers/RegistrasiFinalController.php | 11 +++++------ resources/views/registrasifinal/index.blade.php | 6 +++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/RegistrasiFinalController.php b/app/Http/Controllers/RegistrasiFinalController.php index 435496b..d2bb6fa 100644 --- a/app/Http/Controllers/RegistrasiFinalController.php +++ b/app/Http/Controllers/RegistrasiFinalController.php @@ -46,12 +46,11 @@ } // Retrieve data from the database - $query = PenawaranTender::with(['permohonan', 'tujuanPenilaianKjpp'])->whereHas( - 'permohonan', - function ($q) { - $q->where('status', '=', 'spk'); - }, - )->withCount('penawarandetails'); + $query =PenawaranTender::query() + ->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('penawaran.status','=','spk') + ->withCount('penawarandetails'); // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { diff --git a/resources/views/registrasifinal/index.blade.php b/resources/views/registrasifinal/index.blade.php index ca965ec..32747af 100644 --- a/resources/views/registrasifinal/index.blade.php +++ b/resources/views/registrasifinal/index.blade.php @@ -125,7 +125,11 @@ tujuan_penilaian_kjpp_name: { title: 'Tujuan Penilaian', render: (item, data) => { - return `${data.tujuan_penilaian_kjpp.name || ''}`; + if(data.tujuan_penilaian_kjpp) { + return `${data.tujuan_penilaian_kjpp.name || ''}`; + } + + return "-"; }, }, nama_kjpp_sebelumnya: {