select('python_students_validation.*', 'nama_percobaan', 'nama', 'bab', 'no_percobaan', 'checkresult') ->join('python_percobaan', 'python_percobaan.id_percobaan', '=', 'python_students_validation.id_percobaan') ->join('python_students_submit', 'python_students_submit.id_submit', '=', 'python_students_validation.id_submit') ->join('python_topics', 'python_topics.id_topik', '=', 'python_students_submit.id_topic') ->where('python_students_validation.userid', Auth::id())->get(); // $test = DB::table("python_students_validation")->select('python_students_validation.*') // ->join('python_percobaan', 'python_percobaan.id_percobaan', '=', 'python_students_validation.id_percobaan') // ->join('python_students_submit', 'python_students_submit.id_submit', '=', 'python_students_validation.id_submit') // ->where('python_students_validation.userid', Auth::id())->get(); // print_r( $test ); foreach ( $hasil AS $isi_kolom ) { // id_mahasiswa (id yang mengerjakan) $id_user = $isi_kolom->userid; // ambil informasi data user berdasarkan id_mahasiswa $mhs = DB::table('users')->where('id', $id_user)->first(); $id_dospem = $mhs->uplink; // ambil informasi data user berdasarkan id_dosen pembimbng mhs $dosen = DB::table('users')->where('id', $id_dospem)->first(); // tambahkan informasi isi kolom $isi_kolom->nama_dosen = $dosen->name; // masukkan ke dalam array dt_hasil array_push( $dt_hasil, $isi_kolom ); } // view return view('student.pythoncourse.python_result.result_student', compact('dt_hasil')); } public function student_submit( ) { $allData = array(); // tampil data topik $dt_topik = DB::table('python_topics')->get(); foreach ( $dt_topik AS $topik ) { // echo '

'.$topik->nama.'

'; // tampil data percobaan berdasarkan dt_topik $dt_percobaan = DB::table('python_percobaan')->where('id_topik', $topik->id_topik)->get(); // tampil data validation (yang telah mengumpulkan dan bernilai PASSED) : mhs $allPercobaan = array(); foreach ( $dt_percobaan AS $percobaan ) { $where = [ 'id_percobaan' => $percobaan->id_percobaan, 'uplink' => Auth::id() // id_dosen ]; // $dt_validation = DB::table('python_students_validation')->select('python_students_validation.*', 'users.id', 'users.name') // ->join('users', 'users.id', '=', 'python_students_validation.userid') // ->where( $where ); // $totalEnroll = $dt_validation->count(); // $dataSubmit = $dt_validation->get(); // array_push( $allPercobaan, array( // 'percobaan' => $percobaan, // 'validation' => $dataSubmit, // 'total' => $totalEnroll, // ) ); $dt_submit = DB::table("python_students_submit")->select("python_students_submit.*", 'users.id', 'users.name') ->join('users', 'users.id', '=', 'python_students_submit.userid') ->where( $where )->groupBy('python_students_submit.userid'); $totalEnroll = $dt_submit->count(); $dataSubmit = $dt_submit->get(); array_push( $allPercobaan, array( 'percobaan' => $percobaan, 'submitted' => $dataSubmit, 'total' => $totalEnroll, ) ); // echo $percobaan->nama_percobaan.' : '.$totalEnroll.'
'; } array_push( $allData, array( 'topik' => $topik, 'materi'=> $allPercobaan ) ); } // hitung mahasiswa berdasarkan dospem $mhs = DB::table('users')->where('uplink', Auth::id())->count(); $dosen = DB::table('users')->where('id', Auth::id())->first(); return view('teacher.python.py_student_results', compact( 'allData', 'mhs', 'dosen' )); } // detail public function detail( $id_topik, $id_percobaan ) { $allData = array(); // tampil data topik $topik = DB::table('python_topics')->where('id_topik', $id_topik)->first(); // tampil data percobaan berdasarkan dt_topik $dt_percobaan = DB::table('python_percobaan')->where('id_percobaan', $id_percobaan)->first(); // tampil data validation (yang telah mengumpulkan dan bernilai PASSED) : mhs $allPercobaan = array(); $where = [ 'id_percobaan' => $id_percobaan, 'uplink' => Auth::id() // id_dosen ]; // $dt_validation = DB::table('python_students_validation')->select('python_students_validation.*', 'users.id', 'users.name', 'checkresult') // ->join('python_students_submit', 'python_students_submit.id_submit', '=', 'python_students_validation.id_submit') // ->join('users', 'users.id', '=', 'python_students_validation.userid') // ->where( $where ); // $totalEnroll = $dt_validation->count(); // $dataSubmit = $dt_validation->get(); // $allPercobaan = array( // 'percobaan' => $dt_percobaan, // 'validation' => $dataSubmit, // 'total' => $totalEnroll, // ); $allSubmit = array(); $dt_submit = DB::table("python_students_submit")->select("python_students_submit.*", 'users.id', 'users.name') ->join('users', 'users.id', '=', 'python_students_submit.userid') ->where( $where )->groupBy('python_students_submit.userid'); foreach ( $dt_submit->get() as $row ) { // detail submit $where = array('python_students_submit.userid' => $row->id, 'python_students_submit.id_percobaan' => $id_percobaan); $detail = DB::table("python_students_submit")->select("python_students_submit.*", "python_students_validation.*") ->join('python_students_validation', 'python_students_submit.id_submit', '=', 'python_students_validation.id_submit', 'left outer') ->where( $where )->get(); $wherePassed = array_merge( $where, array('checkstat' => "PASSED") ); $cekKondisi = DB::table("python_students_submit")->select("python_students_submit.*")->where( $wherePassed )->count(); $statusPassed = false; if ( $cekKondisi > 0 ) $statusPassed = true; array_push( $allSubmit, array( 'infoMhs' => $row, 'log' => $detail, 'status' => $statusPassed ) ); } // hitung mahasiswa berdasarkan dospem $mhs = DB::table('users')->where('uplink', Auth::id())->count(); $dosen = DB::table('users')->where('id', Auth::id())->first(); return view('teacher.python.py_student_result_detail', compact( 'allSubmit', 'mhs', 'dosen', 'topik', 'dt_percobaan' )); } }