2016-07-05 75 views
0

我想保存选择id_perencanaan的数据。我尝试了很多方法,但还没有找到答案。从codeigniter中的其他表插入多个数据

控制器:

public function salin_barang_perencanaan($id_perencanaan) { 
    $barang_perencanaan = $this->perencanaan_barang_model->barang_perencanaan($id_perencanaan); 
    // echo "<pre>"; 
    // print_r($barang_perencanaan); 

    if($barang_perencanaan->id_perencanaan == 0) { 

     $data = array(
      'id_perencanaan_barang'  => $barang_perencanaan->id_perencanaan_barang, 
      'id_golongan_barang'  => $barang_perencanaan->id_golongan_barang, 
      'id_bidang_barang'   => $barang_perencanaan->id_bidang_barang, 
      'id_kelompok_barang'  => $barang_perencanaan->id_kelompok_barang, 
      'id_sub_kelompok_barang' => $barang_perencanaan->id_sub_kelompok_barang, 
      'id_jenis_barang'   => $barang_perencanaan->id_jenis_barang, 
      'id_perencanaan'   => $barang_perencanaan->id_perencanaan, 
      'nomor_barang'    => $barang_perencanaan->nomor_barang, 
      'nama_barang'    => $barang_perencanaan->nama_barang, 
      'harga_satuan'    => $barang_perencanaan->harga_satuan, 
      'jumlah_barang'    => $barang_perencanaan->jumlah_barang, 
      'total_harga'    => $barang_perencanaan->total_harga, 
      'penggunaan_barang'   => $barang_perencanaan->penggunaan_barang, 
      'keterangan'    => $barang_perencanaan->keterangan, 
      'tanggal_post'    => date('Y-m-d H:i:s'), 
      'id_user'     => $this->session->userdata('id') 
     ); 
     $this->perencanaan_model->salin_barang_perencanaan($data); 

     $this->session->set_flashdata('sukses', 'Perencanaan dalam tahap pengadaan'); 
     redirect(base_url('pengadaan')); 
    } 
    $this->session->set_flashdata('sukses', 'Proses perencanaan telah dibatalkan'); 
    redirect(base_url('perencanaan')); 
} 

而且我的模型:

public function salin_barang_perencanaan($data) { 
    // $this->db->trans_start(); 
    $this->db->where('id_perencanaan',$data['id_perencanaan']); 
    $this->db->insert_batch('pengadaan_barang',$data); 
    // $this->db->trans_complete(); 
} 

我对你的帮助非常感谢......

+0

什么是你真正想要这个做:如果($ barang_perencanaan-> id_perencanaan == 0){因为有这么多的方法,可以去错了... – cartalot

+0

使用INSERT-SELECT http://www.w3schools.com/sql/sql_insert_into_select.asp – WRDev

+0

感谢您的意见。在其他情况下,我想调用控制器的insert_id,它的实现如何?非常感谢你 ... –

回答

0

的问题已经解决了,下面是我的代码使用:

控制器:

public function salin_barang_perencanaan($id_perencanaan) { 
    $barang_perencanaan = $this->perencanaan_barang_model->barang_perencanaan($id_perencanaan); 
    // echo "<pre>"; 
    // print_r($barang_perencanaan); 

    // if($barang_perencanaan->id_perencanaan == 0) { 

    foreach($barang_perencanaan as $barang_perencanaan){ 
     $data = array(
      'id_perencanaan_barang'  => $barang_perencanaan['id_perencanaan_barang'], 
      'id_golongan_barang'  => $barang_perencanaan['id_golongan_barang'], 
      'id_bidang_barang'   => $barang_perencanaan['id_bidang_barang'], 
      'id_kelompok_barang'  => $barang_perencanaan['id_kelompok_barang'], 
      'id_sub_kelompok_barang' => $barang_perencanaan['id_sub_kelompok_barang'], 
      'id_jenis_barang'   => $barang_perencanaan['id_jenis_barang'], 
      'id_perencanaan'   => $barang_perencanaan['id_perencanaan'], 
      // 'id_pengadaan'    => $last_id, 
      'nomor_barang'    => $barang_perencanaan['nomor_barang'], 
      'nama_barang'    => $barang_perencanaan['nama_barang'], 
      'harga_satuan'    => $barang_perencanaan['harga_satuan'], 
      'jumlah_barang'    => $barang_perencanaan['jumlah_barang'], 
      'total_harga'    => $barang_perencanaan['total_harga'], 
      'penggunaan_barang'   => $barang_perencanaan['penggunaan_barang'], 
      'keterangan'    => $barang_perencanaan['keterangan'], 
      'tanggal_post'    => date('Y-m-d H:i:s'), 
      'id_user'     => $barang_perencanaan['id_user'] 
     ); 
     $this->perencanaan_model->salin_barang_perencanaan($data); 
    } 
    $this->session->set_flashdata('sukses', 'Perencanaan dalam tahap pengadaan'); 
    redirect(base_url('pengadaan')); 
    // } 
    // $this->session->set_flashdata('sukses', 'Proses perencanaan telah dibatalkan'); 
    // redirect(base_url('perencanaan')); 
} 

而且我的模型:

public function salin_barang_perencanaan($data) { 
    $this->db->trans_start(); 
    $this->db->insert('pengadaan_barang' ,$data ,array('id_perencanaan' => $data['id_perencanaan'])); 
    $this->db->trans_complete(); 
} 
相关问题