<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Student_Model extends MY_Model {
function __construct() {
parent::__construct();
}
public function get_student_list($class_id = null, $school_id = null, $academic_year_id = null){
if(!$class_id){
return;
}
$this->db->select('S.*, SC.school_name, E.roll_no, E.class_id, U.username, U.role_id, C.name AS class_name, SE.name AS section');
$this->db->from('enrollments AS E');
$this->db->join('students AS S', 'S.id = E.student_id', 'left');
$this->db->join('users AS U', 'U.id = S.user_id', 'left');
$this->db->join('classes AS C', 'C.id = E.class_id', 'left');
$this->db->join('sections AS SE', 'SE.id = E.section_id', 'left');
$this->db->join('schools AS SC', 'SC.id = S.school_id', 'left');
if($academic_year_id){
$this->db->where('E.academic_year_id', $academic_year_id);
}
if($class_id){
$this->db->where('E.class_id', $class_id);
}
if($this->session->userdata('role_id') == GUARDIAN){
$this->db->where('S.guardian_id', $this->session->userdata('profile_id'));
}
if($this->session->userdata('role_id') == STUDENT){
$this->db->where('S.id', $this->session->userdata('profile_id'));
}
if($this->session->userdata('role_id') != SUPER_ADMIN){
$this->db->where('S.school_id', $this->session->userdata('school_id'));
}
if($school_id && $this->session->userdata('role_id') == SUPER_ADMIN){
$this->db->where('S.school_id', $school_id);
}
$this->db->where('SC.status', 1);
$this->db->order_by('E.roll_no', 'ASC');
return $this->db->get()->result();
}
public function get_single_student($id, $academic_year_id){
$this->db->select('S.*, SC.school_name, T.type, D.amount, D.title AS discount_title, SC.school_name, G.name as guardian, E.academic_year_id, E.roll_no, E.class_id, E.section_id, U.username, U.role_id, R.name AS role, C.name AS class_name, SE.name AS section');
$this->db->from('enrollments AS E');
$this->db->join('students AS S', 'S.id = E.student_id', 'left');
$this->db->join('users AS U', 'U.id = S.user_id', 'left');
$this->db->join('roles AS R', 'R.id = U.role_id', 'left');
$this->db->join('classes AS C', 'C.id = E.class_id', 'left');
$this->db->join('sections AS SE', 'SE.id = E.section_id', 'left');
$this->db->join('guardians AS G', 'G.id = S.guardian_id', 'left');
$this->db->join('schools AS SC', 'SC.id = S.school_id', 'left');
$this->db->join('discounts AS D', 'D.id = S.discount_id', 'left');
$this->db->join('student_types AS T', 'T.id = S.type_id', 'left');
$this->db->where('S.id', $id);
$this->db->where('E.academic_year_id', $academic_year_id);
return $this->db->get()->row();
}
public function get_single_guardian($id){
$this->db->select('G.*, U.username, U.role_id, R.name as role');
$this->db->from('guardians AS G');
$this->db->join('users AS U', 'U.id = G.user_id', 'left');
$this->db->join('roles AS R', 'R.id = U.role_id', 'left');
$this->db->where('G.id', $id);
return $this->db->get()->row();
}
public function get_invoice_list($school_id, $user_id){
$this->db->select('I.*, SC.school_name, S.name AS student_name, AY.session_year, C.name AS class_name');
$this->db->from('invoices AS I');
$this->db->join('classes AS C', 'C.id = I.class_id', 'left');
$this->db->join('students AS S', 'S.id = I.user_id', 'left');
$this->db->join('academic_years AS AY', 'AY.id = I.academic_year_id', 'left');
$this->db->join('schools AS SC', 'SC.id = I.school_id', 'left');
$this->db->where('I.invoice_type !=', 'income');
$this->db->where('I.user_id', $user_id);
$this->db->where('I.school_id', $school_id);
$this->db->where('I.paid_status !=', 'paid');
$this->db->where('SC.status', 1);
$this->db->order_by('I.id', 'DESC');
return $this->db->get()->result();
}
public function get_activity_list($student_id){
$this->db->select('SA.*, ST.name AS student, ST.phone, C.name AS class_name, S.name as section, AY.session_year');
$this->db->from('student_activities AS SA');
$this->db->join('students AS ST', 'ST.id = SA.student_id', 'left');
$this->db->join('classes AS C', 'C.id = SA.class_id', 'left');
$this->db->join('sections AS S', 'S.id = SA.section_id', 'left');
$this->db->join('academic_years AS AY', 'AY.id = SA.academic_year_id', 'left');
$this->db->where('SA.student_id', $student_id);
return $this->db->get()->result();
}
function duplicate_check($username, $id = null) {
if ($id) {
$this->db->where_not_in('id', $id);
}
$this->db->where('username', $username);
return $this->db->get('users')->num_rows();
}
}