db = \Config\Database::connect(); $this->request = \Config\Services::request(); } protected $table = 'penilaian'; protected $primaryKey = 'id_penilaian'; protected $returnType = 'object'; protected $allowedFields = ['id_penilaian', 'bulan', 'tahun']; public function getKategori() { return $this->get()->getResult(); } public function getPenilaian($bulan_selected = null, $tahun_selected = null) { $builder = $this->db->table('penilaian') ->join('detail_penilaian', 'detail_penilaian.id_penilaian = penilaian.id_penilaian') ->join('guru', 'guru.nip = detail_penilaian.nip'); if (!empty($bulan_selected)) { $builder->where('penilaian.bulan', $bulan_selected); } if (!empty($tahun_selected)) { $builder->where('penilaian.tahun', $tahun_selected); } return $builder->get()->getResult(); } public function getRanking($bulan_selected = null, $tahun_selected = null) { $builder = $this->db->table('penilaian') ->join('detail_penilaian', 'detail_penilaian.id_penilaian = penilaian.id_penilaian') ->join('guru', 'guru.nip = detail_penilaian.nip'); if (!empty($bulan_selected)) { $builder->where('penilaian.bulan', $bulan_selected); } if (!empty($tahun_selected)) { $builder->where('penilaian.tahun', $tahun_selected); } // Menambahkan orderBy untuk mengurutkan berdasarkan nilai tertinggi $builder->orderBy('detail_penilaian.hasil', 'DESC'); return $builder->get()->getResult(); } public function insert_penilaian($data) { return $this->db->table($this->table)->insert($data); } public function getById($id) { return $this->where(['id_penilaian' => $id])->get(); } // public function getDistinctKategori() // { // $result = $this->db->table('penilaian')->distinct()->select('kategori, id_penilaian')->get()->getResultArray(); // return $result; // } }