我有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