0

I want to save the data where id_perencanaan is selected. I've tried a lot of ways, but have not found the answer.

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

And my model :

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

I am very grateful for your help...

Muslim
  • 66
  • 1
  • 8
  • what are you really trying to do with this: if($barang_perencanaan->id_perencanaan == 0) { Because there are so many ways that could go wrong... – cartalot Jul 05 '16 at 22:33
  • use INSERT-SELECT http://www.w3schools.com/sql/sql_insert_into_select.asp – Visarut Sae-Pueng Jul 06 '16 at 08:37
  • Thanks for the comments. In other cases, I would like to call insert_id of controllers, how its implementation? Thank you very much ... – Muslim Jul 06 '16 at 18:02

1 Answers1

0

The problem has been resolved, the following is the code I used:

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) {

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

And my model :

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();
}
Muslim
  • 66
  • 1
  • 8