如何在Codeigniter中复制行时设置多个值

时间:2018-12-13 12:54:38

标签: php codeigniter

我有CI函数,它将通过提供该表的主键和值来复制我的行。但是我在复制行时要做的是我必须在该列中添加两个新值。但是CI复制功能只是在更新我的行中有一个值。

我有一个函数和模型

用户控制器

<?php
   function testMe()
    {
        $pks_id=1;(primary value)
        $jcd_id=102;(want this updated value after copy)
        $jc_id=202;(want this updated value after copy)


        $this->user_model->DuplicateMySQLRecordPack('package_sold_test','pksoo_id',$pks_id,$jc_id,$jcd_id);
    }
?>

user_model(要复制我的行)

 function DuplicateMySQLRecordPack ($table, $primary_key_field, $primary_key_val,$jcd_id,$jc_id) 
  {
   /* generate the select query */

   $this->db->where($primary_key_field, $primary_key_val); 
   $query = $this->db->get($table);



       foreach ($query->result() as $row){   

        foreach($row as $key=>$val){        
          if($key != $primary_key_field){ 

          /* $this->db->set can be used instead of passing a data array directly to the insert or update functions */
          if($key=='pksoo_jcd_id')
         {
             $this->db->set($key,$jcd_id); 
          }
           if($key=='pksoo_jc_id')
           {

               $this->db->set($key,$jc_id); 
           }    
 else {
           $this->db->set($key, $val);
 }



          }//endif              
       }//endforeach
    }//endforeach   


    /* insert the new record into table*/
    $this->db->insert($table);
    return $this->db->insert_id($table);
    //print_r($this->db->insert_id($table));


 }

我有一个表package_sold_test

...................................................
pksoo_id    pksoo_jcd_id   pksoo_jc_id    item
...................................................
  1         101            201            pkg1

运行我的代码后,我得到此输出

   ...................................................
    pksoo_id    pksoo_jcd_id   pksoo_jc_id    item
    ...................................................
      1         101            201            pkg1
      2         102            201            pkg1

但是我想要此输出意味着我必须更新多个值

...................................................
        pksoo_id    pksoo_jcd_id   pksoo_jc_id    item
        ...................................................
          1         101            201            pkg1
          2         102            202            pkg1

0 个答案:

没有答案