- Seme Framework
- Credits
- Version 3.2.X
- Issue
- Deployment
Union Select Method
The union_select
method select column from create Union Query Builder with its aliases.
Basic Usage
Here is the basic usage union_select
method from $db
property on SENE_Model class.
$this->db->union_select(string $col_name, string $alias): $this->db
Parameters
Update method has 2 required parameters and 1 optional parameter.
$col_name
The $col_name
value can be a single column name or can be filled with wildcard "*", or can be filled with MySQL function.
$alias
The $alias
value can be a string that represent the selected column.
Example
For the example we assumed want to select a colum in a table with union_select
method.
<?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();
//2nd 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();
//3nd 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();
}
}