在 codeigniter 中插入来自其他 table 的多个数据

Insert multiple data from other table in codeigniter

我想保存选择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();
}

非常感谢您的帮助...

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

控制器:

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