2016-07-05 15 views
0

Ich möchte die Daten, wo ID_perencanaan ausgewählt ist, speichern. Ich habe viele Möglichkeiten ausprobiert, aber habe die Antwort nicht gefunden.Einfügen von mehreren Daten aus anderen Tabellen in Codezeichen

Controller:

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')); 
} 

Und mein Modell:

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(); 
} 

Ich bin sehr dankbar für Ihre Hilfe ...

+0

was Sie wirklich damit zu tun versuchen: if ($ barang_perencanaan-> id_perencanaan == 0) {Weil es so viele Möglichkeiten gibt, die schief gehen könnte ... – cartalot

+0

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

+0

Danke für die Kommentare. In anderen Fällen möchte ich die insert_id von Controllern aufrufen, wie ihre Implementierung? Vielen Dank ... –

Antwort

0

Das Problem wurde gelöst, das folgende ist das I-Code verwendet:

Steuerung:

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')); 
} 

Und mein Modell:

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(); 
} 
Verwandte Themen