2015-10-13 89 views
0

如何以codeigniter格式编写此查询?转换为Codeigniter查询

SELECT rights_management.id, rights_management.tab_name FROM rights_management 
WHERE rights_management.id NOT IN (SELECT r_m.tabid FROM r_m) 

感谢您的帮助。 。

回答

2

可以使用where条款

$this->db->select('rights_management.id, rights_management.tab_name'); 
$this->db->from('rights_management'); 
$this->db->where('`rights_management.id` NOT IN (SELECT r_m.tabid FROM `r_m`)', NULL, FALSE); 
1

首先,你必须从表r_m选择r_m.tabid并将其存储在阵列中写入CI的子查询。

$this->db->select('r_m.tabid'); 
    $this->db->from('r_m'); 
    $query = $this->db->get(); 
    $alb = $query->result_array(); 

使用where_not_in使它到一个数组

foreach($alb as $rs){ 
$not_need[]=$rs['tabid']; 
} 

火后一般活动类。

$this->db->where_not_in('rights_management.id', $not_need);  
$this->db->select('rights_management.id, rights_management.tab_name'); 
$this->db->from('rights_management'); 
$result= $this->db->get(); 
0
$this->db->query('SELECT rights_management.id, rights_management.tab_name FROM rights_management WHERE rights_management.id NOT IN (SELECT r_m.tabid FROM r_m)');