Abiyasa_Putra_Prasetya/Penilaian Literasi/iClOP-V2/app/Http/Controllers/Literacy/LiteracyTeacherAssessmentController.php

65 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Literacy;
use App\Http\Controllers\Controller;
use App\Models\Literacy\LiteracyAssessment;
use App\Models\Literacy\LiteracyQuestion;
use App\Models\User;
use Illuminate\Http\Request;
class LiteracyTeacherAssessmentController extends Controller
{
/**
* Menampilkan semua hasil asesmen siswa.
*/
public function index()
{
// Ambil asesmen hanya dari user dengan role student
$assessments = LiteracyAssessment::whereHas('user', function ($query) {
$query->where('role', 'student');
})->whereIn('status', ['in_progress', 'completed']) // Tambahkan filter status
->latest()
->get();
return view('literacy.teacher.assessment_results.index', compact('assessments'));
}
/**
* Menampilkan detail hasil asesmen siswa.
*/
public function show($id)
{
// Ambil asesmen berdasarkan ID, hanya jika usernya adalah student
$assessment = LiteracyAssessment::whereHas('user', function ($query) {
$query->where('role', 'student');
})->findOrFail($id);
// Ambil pertanyaan terkait asesmen
$questions = $assessment->questions()->with('answers.option')->get();
return view('literacy.teacher.assessment_results.show', compact('assessment', 'questions'));
}
public function viewResult($id)
{
// Ambil asesmen berdasarkan ID, pastikan asesmen milik user dengan role 'student' dan statusnya 'completed'
$assessment = LiteracyAssessment::where('id', $id)
->whereHas('user', function ($query) {
$query->where('role', 'student');
})
->where('status', 'completed')
->firstOrFail();
// Ambil semua pertanyaan, beserta jawaban dan opsi untuk asesmen ini
$questions = LiteracyQuestion::with([
'answers' => function ($query) use ($id) {
$query->where('assessment_id', $id);
},
'options'
])->get();
return view('literacy.teacher.assessment_results.show', compact('assessment', 'questions'));
}
}