Tambah relasi dan optimalkan query pada Permohonan

Tambahkan metode relasi baru untuk `penawaran` dan `tujuan_penilaian_kjpp` di model Permohonan untuk memudahkan akses data terkait. Sesuaikan kembali query di SpkController supaya lebih efisien dengan menggunakan eager loading. Update tampilan di `spk/index.blade.php` untuk menyesuaikan data relasi yang baru ditambahkan di query.
This commit is contained in:
Daeng Deni Mardaeni
2024-11-06 13:27:16 +07:00
parent 019e12535e
commit 474a3041c8
3 changed files with 33 additions and 14 deletions

View File

@@ -34,18 +34,15 @@ use Illuminate\Support\Facades\Auth;
}
// Retrieve data from the database
$query =Permohonan::query()
->leftJoin('penawaran', 'penawaran.nomor_registrasi','=','permohonan.nomor_registrasi')
->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
->where('permohonan.status','=','spk')
->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name', 'permohonan.dokumen as dokumenSPK');
$query =Permohonan::query()->with(['penawaran','tujuan_penilaian_kjpp'])
->where('permohonan.status','=','spk');
// Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
$q->orWhere('penawaran.tanggal_permohonan', 'LIKE', '%' . $search . '%');
$q->orWhere('status', 'LIKE', '%' . $search . '%');
});
@@ -76,7 +73,7 @@ use Illuminate\Support\Facades\Auth;
// Get the data for the current page
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
$data = $query->with(['permohonan'])->get();
$data = $query->get();
$i=0;
foreach($data as $obj)