EVOLUTION-NINJA
Edit File: Subject_Model.php
<?php namespace App\Models; use CodeIgniter\Model; class Subject_Model extends Model { protected $table = 'subject_materials'; public function get_material_details($login_id) { $builder = $this->db->table('subject_materials A'); $builder->select('A.*, B.login_id, B.username, C.sub_domain_id, C.sub_domain, D.chapter_id, D.chapter_name, E.domain_id, E.domain_name, F.topic_name'); $builder->join('login B', 'B.login_id = A.created_by'); $builder->join('sub_domains C', 'C.sub_domain_id = A.sub_domain_id'); $builder->join('domains E', 'E.domain_id = A.domain_id'); $builder->join('syllabus_chapter D', 'D.chapter_id = A.chapter_id'); $builder->join('topics F', 'F.topic_id = A.topic_id'); $builder->where('A.delete_status', 'ACTIVE'); $builder->groupBy('A.chapter_id'); $builder->where('B.delete_status', 'ACTIVE'); $builder->where('C.delete_status', 'ACTIVE'); $builder->where('E.delete_status', 'ACTIVE'); $builder->where('F.delete_status', 'ACTIVE'); $builder->where('A.created_by', $login_id); $query = $builder->get(); $result = $query->getResultArray(); $array = []; foreach ($result as $val) { $data['material_id'] = $val['material_id']; $data['sub_domain_id'] = $val['sub_domain_id']; $data['chapter_id'] = $val['chapter_id']; $data['created_by'] = $val['created_by']; $data['domain_name'] = $val['domain_name']; $data['sub_domain'] = $val['sub_domain']; $data['chapter_name'] = $val['chapter_name']; $data['username'] = $val['username']; $array[] = $data; } return $array; } public function get_topic_wise_materials($login_id, $sub_domain_id, $chapter_id) { $builder = $this->db->table('subject_materials A'); $builder->select('A.*, B.login_id, B.username, C.sub_domain_id, C.sub_domain, D.chapter_id, D.chapter_name, F.topic_name'); $builder->join('login B', 'B.login_id = A.created_by'); $builder->join('sub_domains C', 'C.sub_domain_id = A.sub_domain_id'); $builder->join('syllabus_chapter D', 'D.chapter_id = A.chapter_id'); $builder->join('topics F', 'F.topic_id = A.topic_id'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('A.chapter_id', $chapter_id); $builder->where('B.delete_status', 'ACTIVE'); $builder->where('C.delete_status', 'ACTIVE'); $builder->where('C.sub_domain_id', $sub_domain_id); $builder->where('F.delete_status', 'ACTIVE'); $builder->where('A.created_by', $login_id); $query = $builder->get(); $result = $query->getResultArray(); $array = []; foreach ($result as $val) { $data['material_id'] = $val['material_id']; $data['sub_domain_id'] = $val['sub_domain_id']; $data['chapter_id'] = $val['chapter_id']; $data['created_by'] = $val['created_by']; $data['sub_domain'] = $val['sub_domain']; $data['chapter_name'] = $val['chapter_name']; $data['username'] = $val['username']; $data['topic_name'] = $val['topic_name']; $data['created_at'] = date("d-m-Y H:i:s", strtotime($val['created_at'])); if ($val['return_status'] == 'RETURNED') { $retVal = 'RETURNED'; } else { $retVal = $val['approval_status']; } $data['approval_status'] = $retVal; $array[] = $data; } return $array; } public function get_where_domains_materials($material_id) { return $this->select('A.*, B.*, C.*') ->from('subject_materials A') ->join('sub_domains B', 'A.sub_domain_id = B.sub_domain_id', 'left') ->join('syllabus_chapter C', 'C.chapter_id = A.chapter_id', 'left') ->whereIn('A.material_id', [$material_id]) ->where('A.delete_status', 'ACTIVE') ->get() ->getRow(); } public function getWhereRow($table, $where) { $builder = $this->db->table($table); $builder->select('*'); $builder->where($where); $query = $builder->get(); return $query->getRow(); } public function list_of_questions($chapter_id, $login_id, $sub_id) { $builder = $this->db->table('subject_materials'); $builder->select('*'); $builder->join('questions', 'questions.material_id = subject_materials.material_id'); $builder->where('questions.chapter_id', $chapter_id); $builder->where('questions.faculty_id', $login_id); $builder->where('questions.sub_domain_id', $sub_id); $builder->where('subject_materials.delete_status', 'ACTIVE'); $builder->where('questions.status', 'ACTIVE'); $query = $builder->get(); $res = $query->getResultArray(); $res_array = array(); foreach ($res as $result) { $data['qid'] = $result['qid']; $data['questions'] = htmlspecialchars_decode($result['questions']); $data['no_of_options'] = $result['no_of_options']; $data['ans1'] = htmlspecialchars_decode($result['ans1']); $data['ans2'] = htmlspecialchars_decode($result['ans2']); $data['ans3'] = htmlspecialchars_decode($result['ans3']); $data['ans4'] = htmlspecialchars_decode($result['ans4']); $data['ans'] = $result['ans']; $data['explanation'] = htmlspecialchars_decode($result['explanation']); array_push($res_array, $data); } return $res_array; } public function number_of_questions() { $builder = $this->db->table('questions'); $builder->select('*'); $builder->where('status', 'ACTIVE'); $result = $builder->get(); return $result->getNumRows(); } public function getWhereMaterialDetails($material_id) { $builder = $this->db->table('subject_materials A'); $builder->select('A.*, B.sub_domain, C.username'); $builder->join('sub_domains B', 'A.sub_domain_id = B.sub_domain_id'); $builder->join('login C', 'C.login_id = A.created_by'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('B.delete_status', 'ACTIVE'); $builder->where('A.material_id', $material_id); $builder->orderBy('A.created_at', 'DESC'); $query = $builder->get(); return $query->getRow(); } public function getTopicName($topic_id) { $builder = $this->db->table('subject_materials A'); $builder->select('*'); $builder->join('syllabus_chapter B', 'B.chapter_id = A.chapter_id'); $builder->join('topics C', 'C.topic_id = A.topic_id'); $builder->where('A.topic_id', $topic_id); //$builder->where('A.approval_status', 'APPROVED'); $builder->where('A.delete_status', 'ACTIVE'); $builder->where('B.delete_status', 'ACTIVE'); $builder->where('C.delete_status', 'ACTIVE'); $query = $builder->get(); $chapter = $query->getRow(); return $chapter; } public function getWhereLikeBatch($table, $batch_id) { $builder = $this->db->table('batches'); $builder->select('*'); $builder->whereIn('batch_id', [$batch_id]); $builder->where('delete_status', 'ACTIVE'); $query = $builder->get(); return $query->getRow(); } }