Bedhoel

models/Keahlian.php

Nov 6th, 2020
1,945
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.82 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. use Illuminate\Database\Eloquent\Model as Eloquent;
  4.  
  5. class Keahlian extends Eloquent
  6. {
  7.     protected $table = 'ms_keahlian';
  8.     public $timestamps = false;
  9.  
  10.      // start datatables
  11.     var $column_order = array(null, 'nama_keahlian', 'created_at', 'updated_at'); //set column field database for datatable orderable
  12.     var $column_search = array('nama_keahlian'); //set column field database for datatable searchable
  13.    
  14.     private function _get_datatables_query() {
  15.         $i = 0;
  16.  
  17.         $this->db = Keahlian::select(['ms_keahlian.*'])->where('ms_keahlian.is_deleted','0');
  18.         foreach ($this->column_search as $item) { // loop column
  19.             if(@$_POST['search']['value']) { // if datatable send POST for search
  20.                 if($i===0) {
  21.                    $this->db =  $this->db->where($item, 'like', '%'.$_POST['search']['value'].'%');
  22.                 } else {
  23.                    $this->db =  $this->db->orWhere($item, 'like', '%'.$_POST['search']['value'].'%');
  24.                 }
  25.             }
  26.             $i++;
  27.         }
  28.          
  29.         $this->db =  $this->db->orderBy($this->column_order[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
  30.     }
  31.  
  32.     function get_datatables() {
  33.         $this->_get_datatables_query();
  34.         if(@$_POST['length'] != -1){
  35.             $this->db = $this->db->skip(@$_POST['start'])->take(@$_POST['length']);
  36.             $query    = $this->db->get();
  37.             return $query;
  38.         }
  39.     }
  40.     function count_filtered() {
  41.         $this->_get_datatables_query();
  42.         $query = $this->db->get();
  43.         return count($query);
  44.     }
  45.     function count_all() {
  46.         $count = Keahlian::where('ms_keahlian.is_deleted','0')->count();
  47.         return $count;
  48.     }
  49.     // end datatables
  50. }
Advertisement
Add Comment
Please, Sign In to add comment