2015-10-13 40 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)');