2016-07-05 5 views
0

id_perencanaan이 선택된 위치에 데이터를 저장하고 싶습니다. 나는 많은 방법을 시도했지만 대답을 찾지 못했습니다.코드 테이블에 다른 테이블의 여러 데이터 삽입

컨트롤러 :

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

당신이 정말로 이것으로 무엇을하려고합니다 : if ($ barang_perencanaan-> == 0 id_perencanaan) {잘못 될 수있는 많은 방법이 있기 때문에 ... – cartalot

+0

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

+0

주석 주셔서 감사합니다. 다른 경우에는 컨트롤러의 insert_id를 호출하고 싶습니다. 구현 방법은 무엇입니까? 고맙습니다 ... –

답변

0

이 문제가 해결 된 다음 코드 I는 중고 :

컨트롤러 :

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(); 
} 
관련 문제