diff --git a/app/Http/Controllers/AssessmentHistoryController.php b/app/Http/Controllers/AssessmentHistoryController.php index 33373d9..6a8dae4 100644 --- a/app/Http/Controllers/AssessmentHistoryController.php +++ b/app/Http/Controllers/AssessmentHistoryController.php @@ -9,14 +9,17 @@ class AssessmentHistoryController extends Controller { public function index() { - $evaluations = Evaluation::with('land', 'evaluationDetails.indicator')->orderBy('created_at', 'desc')->get(); + $evaluations = Evaluation::with(['land', 'evaluationDetails.indicator.rules' => function ($query) { + $query->whereHas('indicator.evaluationDetails', function ($subquery) { + $subquery->whereColumn('rule.cf', 'evaluation_details.cf_e'); + }); + }])->orderBy('created_at', 'desc')->get(); return view('assessment.index', compact('evaluations')); } public function officer() { $evaluations = Evaluation::with('land', 'evaluationDetails.indicator.rules')->where('user_id', auth()->user()->id)->orderBy('created_at', 'desc')->get(); - // dd($evaluations); return view('assessment.officer', compact('evaluations')); } } diff --git a/app/Models/EvaluationDetail.php b/app/Models/EvaluationDetail.php index 18388fa..2a13dd6 100644 --- a/app/Models/EvaluationDetail.php +++ b/app/Models/EvaluationDetail.php @@ -20,6 +20,6 @@ public function evaluation() public function indicator() { - return $this->belongsTo(Indicator::class); + return $this->belongsTo(Indicator::class, 'indicator_id', 'id'); } } diff --git a/app/Models/Indicator.php b/app/Models/Indicator.php index 7e62ee2..94ed3f6 100644 --- a/app/Models/Indicator.php +++ b/app/Models/Indicator.php @@ -17,4 +17,9 @@ public function rules() { return $this->hasMany(Rule::class, 'indicator_id', 'id'); } + + public function evaluationDetails() + { + return $this->hasMany(EvaluationDetail::class, 'indicator_id', 'id'); + } } diff --git a/app/Models/Rule.php b/app/Models/Rule.php index cf62568..67719e4 100644 --- a/app/Models/Rule.php +++ b/app/Models/Rule.php @@ -14,6 +14,6 @@ class Rule extends Model public function indicator() { - return $this->belongsTo(Indicator::class); + return $this->belongsTo(Indicator::class, 'indicator_id', 'id'); } } diff --git a/public/assets/js/pages/customJs/assessment/index.js b/public/assets/js/pages/customJs/assessment/index.js index eedda06..e732b4b 100644 --- a/public/assets/js/pages/customJs/assessment/index.js +++ b/public/assets/js/pages/customJs/assessment/index.js @@ -1,19 +1,17 @@ function detailData(data) { - console.log(data); - - // Ambil elemen tbody tabel let tbody = document.querySelector("#detailTable tbody"); - // Kosongkan tabel sebelum menambahkan data baru tbody.innerHTML = ""; - // Pastikan data adalah array atau objek iterable if (Array.isArray(data)) { data.forEach((item) => { + const parameterTypes = item.indicator.rules + .map((rule) => rule.parameter_type) + .join(", "); let row = `