首页 文章

如何在codeigniter中插入多个数组?

提问于
浏览
0

请帮助我,我在如何在codeigniter中插入多个数组时遇到麻烦 . 如果我发布2或3个数组,它会成功保存到数据库,但如果我发布的数据超过3个,则数据并不总是保存到数据库 .

这是我的模型功能:

function add_booking($table,$data) { return $this->db->insert($table,$data); }

这是我的代码:

for($i =0 ; $i < count($data["alamat_tujuans[]"]) ;$i++){
    $tujuan =$data["alamat_tujuans[]"][$i];
    $ddetail = array(
        "id"           =>$delivery_id+$i,
        "address"      =>$tujuan,
        "sku_driver"   =>$data["sku[]"][$i],
        "contact"      =>$data["kontak_penerima[]"][$i],
        "instruction"  =>$data2["instruksi[]"][$i],
        "order_id"     =>$obj[0]->id.'-'.$transid,
        "name"         =>$data["nama_penerima[]"][$i],
        "email"        =>$data["email_penerima[]"][$i],
        "created_date" =>$date,
        "place_name"   =>$data['place_name'],
        "districts"    =>$data['districts'],
        "lat"          =>$data['tujuan1_lat[]'][$i],
        "lng"          =>$data['tujuan1_lng[]'][$i],
        "harga_muatan" =>$data['harga_muatanya[]'][$i],
        "status"       =>$data['status'],
        "provider_id"  =>$_SESSION['logged_in']['provider_id'],
        "city"         =>$data['city']
        );
    $insertData = $this->m_booking->add_booking("delivery_detail", $ddetail);
}

1 回答

  • 1

    这是你的答案 .

    $data = array(
                  array(
                    'title' => 'My title',
                    'name' => 'My Name',
                    'date' => 'My date'
                  ),
                  array(
                    'title' => 'Another title',
                    'name' => 'Another Name',
                    'date' => 'Another date'
                  )
    );
    
    $this->db->insert_batch('mytable', $data);
    

    首先,使用循环创建多维数组 . 数据准备好插入数据库后,使用函数 insert_batch . insert_batch 函数会将所有数据一次性插入数据库 .
    希望这可以帮到你 .

相关问题