/* timpakan/replace pada function simpan_ekstrakurikuler() pada file application\controllers\admin\laporan.php */ public function simpan_ekstrakurikuler(){ $ajaran_id = $_POST['ajaran_id']; $rombel_id = $_POST['rombel_id']; $ekskul_id = $_POST['ekskul_id']; $siswa_id = $_POST['siswa_id']; foreach($siswa_id as $key=>$siswa){ $nilai_ekskul = Nilaiekskul::find_by_ajaran_id_and_ekskul_id_and_rombel_id_and_siswa_id($ajaran_id,$ekskul_id,$rombel_id,$siswa); if($nilai_ekskul) { // ditemukan data di nilai ekskul utk siswa ybs if ($_POST['nilai'][$key] < 1) { // ditemukan data, tapi wali menghendaki nilainya ditiadakan (salah entry sebelumnya) $nilai_ekskul->delete(); } else { // wali mengubah penilaian atau deskripsi $nilai_ekskul->update_attributes( array( 'nilai' => $_POST['nilai'][$key], 'deskripsi_ekskul' => $_POST['deskripsi_ekskul'][$key], ) ); } } else { if ($_POST['nilai'][$key] > 0) { // hanya menyimpan jika wali benar2 memberikan penilaian ekskul $new_ekskul = new Nilaiekskul(); $new_ekskul->ajaran_id = $ajaran_id; $new_ekskul->rombel_id = $rombel_id; $new_ekskul->ekskul_id = $ekskul_id; $new_ekskul->siswa_id = $siswa; $new_ekskul->nilai = $_POST['nilai'][$key]; $new_ekskul->deskripsi_ekskul = $_POST['deskripsi_ekskul'][$key]; $new_ekskul->save(); } } } $this->session->set_flashdata('success', 'Berhasil menambah nilai ekstrakurikuler'); redirect('admin/laporan/ekstrakurikuler'); }