MIF_E31221259/app/Http/Controllers/Admin/HasilDiagnosisController.php

53 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Diagnosa;
use App\Models\HasilAhp;
use Illuminate\Support\Collection;
class HasilDiagnosisController extends Controller
{
/**
* Tampilkan daftar gabungan diagnosa dan AHP.
*/
public function index()
{
// 1) Diagnosa: tetap model, tambahkan atribut
$diagnosa = Diagnosa::with(['user', 'kecerdasan'])
->select(['id', 'user_id', 'kecerdasan_id', 'presentase', 'created_at'])
->get()
->map(function($d) {
// tambahkan properti
$d->jenis = 'Diagnosis';
$d->user_name = $d->user->name;
$d->nama_parent = $d->kecerdasan->nama ?? '-';
$d->nilai = $d->presentase;
return $d;
});
// 2) AHP: model + properti
$ahp = HasilAhp::with(['user', 'jurusan'])
->select(['id', 'user_id', 'jurusan_id', 'score', 'created_at'])
->get()
->map(function($a) {
$a->jenis = 'AHP';
$a->user_name = $a->user->name;
$a->nama_parent = $a->jurusan->nama ?? '-';
$a->nilai = $a->score * 100;
return $a;
});
// 3) Merge, urut, kirim ke view
$results = $diagnosa
->concat($ahp)
->sortByDesc('created_at')
->sortBy('user_name')
->values();
return view('admin.hasildiagnosis', compact('results'));
}
}