Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- use Illuminate\Database\Eloquent\Model as Eloquent;
- class Skill extends CI_Model,Eloquent // I want multiple Extends :(
- {
- protected $table = 'master_skill';
- public $timestamps = false;
- // start datatables
- var $column_order = array(null, 'skill_name', 'created_at', 'updated_at'); //set column field database for datatable orderable
- var $column_search = array('skill_name'); //set column field database for datatable searchable
- var $order = array('skill_name' => 'asc'); // default order
- private function _get_datatables_query() {
- $this->db->select('master_skill.*');
- $this->db->from('master_skill');
- $this->db->where('is_deleted','0');
- $i = 0;
- foreach ($this->column_search as $item) { // loop column
- if(@$_POST['search']['value']) { // if datatable send POST for search
- if($i===0) { // first loop
- $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND.
- $this->db->like($item, $_POST['search']['value']);
- } else {
- $this->db->or_like($item, $_POST['search']['value']);
- }
- if(count($this->column_search) - 1 == $i) //last loop
- $this->db->group_end(); //close bracket
- }
- $i++;
- }
- if(isset($_POST['order'])) { // here order processing
- $this->db->order_by($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
- } else if(isset($this->order)) {
- $order = $this->order;
- $this->db->order_by(key($order), $order[key($order)]);
- }
- }
- function get_datatables() {
- $this->_get_datatables_query();
- if(@$_POST['length'] != -1)
- $this->db->limit(@$_POST['length'], @$_POST['start']);
- $query = $this->db->get();
- return $query->result();
- }
- function count_filtered() {
- $this->_get_datatables_query();
- $query = $this->db->get();
- return $query->num_rows();
- }
- function count_all() {
- $this->db->from('master_skill');
- return $this->db->count_all_results();
- }
- // end datatables
- }
Advertisement
Add Comment
Please, Sign In to add comment