2017-09-04 36 views
0

每當我嘗試插入數據時,兩列的字段都爲空。只有自動遞增(當然)MainReqID和最後一列有字段。 這裏是我的控制器..代碼點火器 - 批量插入功能在數據庫中插入空字段

public function insert_main($data,$orgs){ 
    $this->db->insert('insert_main',$data); 
    $getID = $this->db->insert_id(); 

    $ctr=1; 
    $insertorg = array(); 
    foreach($i=0; $i<count($orgs); $i++){ 
    $insertorg[] = array(
     'OrgID'=>$ctr[$i], 
     'MainID'=>$getID[$i], 
     'Level'=>'1234'[$i] 
    ); 
    $ctr++; 
    } 
    $this->db->insert_batch('insert_mainreq',$insertorg); 
} 

這裏是什麼樣子的數據庫......

MainReqID | OrgID | MainID | Level 
1   | null | null | 1234 
2   | null | null | 1234 
3   | null | null | 1234 
4   | null | null | 1234 
5   | null | null | 1234.. and so on.. 

我需要的是這樣的..

MainReqID | OrgID | MainID | Level 
1   | 1  | 3  | 1234 
2   | 2  | 3  | 1234 
3   | 3  | 3  | 1234 
4   | 4  | 3  | 1234 
5   | 5  | 3  | 1234.. and so on.. 

回答

1

看起來$getID不一個數組,但您要添加$getID[i]。這肯定是行不通的。與$ctr相同。這是一個整數,但您正在嘗試$ctr[i]Level也是如此。

public function insert_main($data,$orgs){ 
    $this->db->insert('insert_main',$data); 
    **$getID** = $this->db->insert_id(); 

    **$ctr=1;** 
    $insertorg = array(); 
    foreach($i=0; $i<count($orgs); $i++){ 
    $insertorg[] array(
     'OrgID'=>**$ctr[$i]**, 
     'MainID'=>**$getID[$i]**, 
     'Level'=>**'1234'[$i]** 
    ); 
    $ctr++; 
    } 
    $this->db->insert_batch('insert_mainreq',$insertorg); 
} 

你可以試試這個,我不知道你正在嘗試與ORGID和MainID做,但:

public function insert_main($data,$orgs){ 
    $this->db->insert('insert_main',$data); 
    $getID = $this->db->insert_id(); 

    $insertorg = array(); 
    foreach($i=0; $i<count($orgs); $i++){ 
    $insertorg[] array(
     'OrgID'=> $i, 
     'MainID'=>$getID, 
     'Level'=>'1234' 
    ); 
    } 
    $this->db->insert_batch('insert_mainreq',$insertorg); 
} 

記住$this->db->insert_id();將返回插入,如果最後一行的id有不止一行。

+0

我更新了我的答案,讓你表現出對你的第二個例子是什麼。 –

0

試試這個代碼:

public function insert_main($data,$orgs){ 
$this->db->insert('insert_main',$data); 
$getID = $this->db->insert_id(); 

$insertorg = array(); 
    foreach($i=0; $i<count($orgs); $i++) 
    { 
    $insertorg[] = array(
     'OrgID'=> $i, 
     'MainID'=>$getID, 
     'Level'=>'1234' 
    ); 
    }   
$this->db->insert_batch('insert_mainreq',$insertorg); 

} 
+0

你還沒有做任何改變.. – Vhey

+0

我改變了'$ insertorg [] = array' –