简体   繁体   English

codeigniter 中的更新批次

[英]update batch in codeigniter

I have data on db_temporary here I will update based on id_service , but why doesn't the update work?我这里有关于db_temporary的数据,我将根据id_service进行更新,但为什么更新不起作用?

public function updateUpload() {
    $db = $this->M_order->db_temporary_service(); //db_temporary
    $data = array();

    foreach($db AS $key => $val){

        $data[] = array(
            "id_service"         => $_POST['id_service'][$key],
            "id_destination"     => $_POST['id_destination'][$key],
            "id_sub_destination" => $_POST['id_sub_destination'][$key],
            "charges_order"      => $_POST['charges_order'][$key],
            "weight_order"       => $_POST['weight_order'][$key],
            "jenis_service"      => $_POST['jenis_service'][$key],
            "service_order"      => $_POST['service_order'][$key],
            "charges_order"      => $_POST['charges_order'][$key],
         );

         echo '<pre>', print_r($data);

         //update to db_service where id_service
         $this->db->update_batch('service', $data, 'id_service');

         redirect('backend/.....');
    }
}

The data doesn't seem to be updated because you've used update_batch as well as redirect inside foreach loop, I'm writing the rectified code below, comments are mentioned wherever necessary.数据似乎没有更新,因为您在foreach循环中使用update_batchredirect ,我正在编写下面的更正代码,必要时会提到注释。 See if it resolves your issue.看看能不能解决你的问题。

public function updateUpload(){
        $db = $this->M_order->db_temporary_service(); //db_temporary
        $data = array();
        foreach($db AS $key => $val){

            $data[] = array(
                "id_service"              => $_POST['id_service'][$key],
                "id_destination"          => $_POST['id_destination'][$key],
                "id_sub_destination"      => $_POST['id_sub_destination'][$key],
                "charges_order"           => $_POST['charges_order'][$key],
                "weight_order"            => $_POST['weight_order'][$key],
                "jenis_service"           => $_POST['jenis_service'][$key],
                "service_order"           => $_POST['service_order'][$key],
                "charges_order"           => $_POST['charges_order'][$key],
               );
        }
        // echo '<pre>', print_r($data); // all the data should be here
        $this->db->update_batch('service', $data, 'id_service'); // update the table with all the data
        redirect('backend/.....');
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM