82 lines
2.3 KiB
PHP
82 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use CodeIgniter\Model;
|
|
use Codeigniter\HTTP\RequestInterface;
|
|
|
|
class ModelPenilaian extends Model
|
|
{
|
|
|
|
protected $db;
|
|
protected $request;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->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;
|
|
// }
|
|
} |