Postingan lainnya
user belum jawab pilihan ganda
permisi gan, saya lg bikin ujian online. cuma saya ada masalah, saya jelasin di komen kodenya aja ya saya punya kode sebagai berikut
Terima kasih
//Tabel Soals
id | pertanyaan | A | B | C | D |Kunci
//Tabel Jawabans
id | Soal_id | jawaban_user | user_id
view soal
@if(!count($soals))
<div class="my-1 p-3 bg-white rounded box-shadow text-center">
<i class="fa fa-file"></i>
<p class="text-muted mb-0">Belum ada Soal</p>
</div>
@else
<div id="load" style="position: relative;">
@foreach($soals as $soal)
<div class="my-1 p-3 bg-white rounded box-shadow">
<div class="card mb-2" ><div class="card-header">
Nomor {{ ($soals ->currentpage()-1) * $soals ->perpage() + $loop->index + 1 }} / {{$soals->lastPage()}}
<button class="btn btn-primary float-right">Selesai</button>
</div>
<div class="card-body">
{!!$soal->pertanyaan!!}
</div></div>
//di bawah ini bagian opsi jawban pilihan ganda
//ini kan saya ngeloop jawaban user yg jika soal sudah terjawab, dengan if statement
//masalahnya, kalo di bagian soal yg belum dijawab, opsi jawaban hilang
//gimana caranya untuk deteksi soal yg belum terjawab, opsi jawaban tetap muncul
//terima kasih
@foreach($userjawabs as $userjawab)
@if($soal->id == $userjawab->soal_id && Auth::user()->id == $userjawab->user_id)
<div class="card mb-2"><div class="card-body"><div class="custom-control custom-radio">
<input onclick="jawab('{{$soal->id}}',this)" type="radio" id="A" value="A" name="pilihan" class="custom-control-input pilihan" {{$userjawab->pilihan == 'A' && $userjawab->soal->id == $soal->id ? 'checked':''}}>
<label class="custom-control-label" for="A">{{$soal->A}}</label>
</div></div></div>
<div class="card mb-2"><div class="card-body"><div class="custom-control custom-radio">
<input onclick="jawab('{{$soal->id}}',this)" type="radio" id="B" value="B" name="pilihan" class="custom-control-input pilihan" {{$userjawab->pilihan == 'B' && $userjawab->soal->id == $soal->id ? 'checked':''}}>
<label class="custom-control-label" for="B">{{$soal->B}}</label>
</div></div></div>
<div class="card mb-2"><div class="card-body"><div class="custom-control custom-radio">
<input onclick="jawab('{{$soal->id}}',this)" type="radio" id="C" value="C" name="pilihan" class="custom-control-input pilihan"{{$userjawab->pilihan == 'C' && $userjawab->soal->id == $soal->id ? 'checked':''}}>
<label class="custom-control-label" for="C">{{$soal->C}}</label>
</div></div></div>
<div class="card mb-2"><div class="card-body"><div class="custom-control custom-radio">
<input onclick="jawab('{{$soal->id}}',this)" type="radio" id="D" value="D" name="pilihan" class="custom-control-input pilihan" {{$userjawab->pilihan == 'D' && $userjawab->soal->id == $soal->id ? 'checked':''}}>
<label class="custom-control-label" for="D">{{$soal->D}}</label>
</div></div></div>
@endif
@endforeach
</div>
@endforeach
</div>
{{ $soals->links() }}
@endif
SoalController.php
public function tosmp($mapel, Request $request){
$pelajaran = Pelajaran::where('level_id', 1)->whereMapel($mapel)->first();
$soals = Soal::with('jawaban')->where('level_id', 1)->where('pelajaran_id' , $pelajaran->id)->orderBy('created_at' , 'desc')->paginate(1);
$userjawabs = Jawaban::with(['soal:id,kunci,pelajaran_id', 'user'])->where('mapel_id', $pelajaran->id)->get();
if ($request->ajax()) {
$jawaban = Jawaban::with('user')->where('user_id', Auth::user()->id)->first();
return view('tryout.peserta.soal-smp-show', ['soals' => $soals, 'userjawabs'=> $userjawabs])->render();
}
return view('tryout.peserta.soal-smp', compact('pelajaran' , 'soals', 'userjawabs'));
}
Model
//Model Soal
public function jawaban()
{
return $this->belongsTo('App\Jawaban');
}
// Model Jawaban
public function soal()
{
return $this->belongsTo('App\Soal');
}
0
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban