Metode Union Get

Metode union_get berguna untuk mengeksekusi query dari Union Query Buffer dan mengembalikan data dari hasil query tersebut.

Bentuk Umum

Berikut ini adalah bentuk umum metode union_get dari properti $db yang ada di kelas SENE_Model.

$this->db->union_get([bool $is_debug = 0]]): mixed

Parameter

Metode ini tediri dari 1 parameter opsional.

$is_debug

Parameter $is_debug merupakan sebuah penanda (flag) untuk mengaktifkan mode debug. Nilai dari parameter ini bisa diis dengan int 1 untuk mengaktifkan mode debug dan menampilkan query yang akan diproses. Isi dengan nilai lainnya untuk tidak mengaktifkan mode debug. Pada mode debug, tidak akan ada proses eksekusi query ke sistem database.

Contoh

Pada contoh ini akan ditampilkan implementasi metode union_get.

<?php
class Blog_Model extends SENE_Model{
  var $tbl = 'd_blog';
  var $tbl_as = 'b';

  public function __construct(){
    parent::__construct();
    $this->db->from($this->tbl,$this->tbl_as);
  }
  public function searchByScore($keyword){
    $this->db->union_flush();

    //1st union
    $this->db->select('id');
    $this->db->select('title');
    $this->db->select('excerpt');
    $this->db->select('date_modified');
    $this->db->select_as("3",'score');
    $this->db->from($this->tbl,$this->tbl_as);
    $this->db->where('title',$keyword,'or','like',1,0);
    $this->db->where('excerpt',$keyword,'or','like',0,1);
    $this->db->union_create();

    //2nd union
    $this->db->select('id');
    $this->db->select('title');
    $this->db->select('excerpt');
    $this->db->select('date_modified');
    $this->db->select_as("2",'score');
    $this->db->from($this->tbl,$this->tbl_as);
    $this->db->where('title',$keyword,'or','like%',1,0);
    $this->db->where('excerpt',$keyword,'or','like%',0,1);
    $this->db->union_create();

    //3rd union
    $this->db->select('id');
    $this->db->select('title');
    $this->db->select('excerpt');
    $this->db->select('date_modified');
    $this->db->select_as("1",'score');
    $this->db->from($this->tbl,$this->tbl_as);
    $this->db->where('title',$keyword,'or','%like',1,0);
    $this->db->where('excerpt',$keyword,'or','%like',0,1);
    $this->db->union_create();

    //4th union
    $this->db->select('id');
    $this->db->select('title');
    $this->db->select('excerpt');
    $this->db->select('date_modified');
    $this->db->select_as("0",'score');
    $this->db->from($this->tbl,$this->tbl_as);
    $this->db->where('title',$keyword,'or','%like%',1,0);
    $this->db->where('excerpt',$keyword,'or','%like%',0,1);
    $this->db->union_create();

    $this->db->union_select('id,title,date_modified,score','score');
    $this->db->union_group_by('id');
    $this->db->union_order_by('score','desc')->union_limit(1, 14);
    return $this->db->union_get();
  }
}