52 lines
1.4 KiB
PHP
52 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
|
|
->merge($ahp)
|
|
->sortByDesc('created_at')
|
|
->values();
|
|
|
|
return view('admin.hasildiagnosis', compact('results'));
|
|
}
|
|
|
|
}
|