我有两个桌子。第一个是customer,第二个是customer_tel。 每个客户可以有一个或多个tel_number,因此我将客户的号码存储在customer_tel中。我的问题是关于更新customer_tel。我不知道客户可以拥有多少个tel_numbers。因此,如果客户已经有一个tel_number,现在想要对其进行编辑或添加新的tel_number,该如何使用update并将它们一起插入? 例如客户表是:
id = 1 , fullname : john doe
而customer_tel是:
id = 1 , customer_id = 1 , tel_number = 123456789
id = 2 , customer_id = 1 , tel_number = 123456
每个用户可以编辑或添加他们的tel_number。我对update_batch很熟悉,但是在这里它无法工作,因为我也同时插入了。 我的解决方案是删除具有customer_id = 1的行,并insert_batch新数据。有什么办法比这更好的吗?
for($i = 0 ; $i < sizeof($_POST['tel_title']) ; $i++){
$tel[] = array(
'customer_id'=> $id,
'tel_title'=> htmlspecialchars($_POST['tel_title'][$i]),
'tel' => htmlspecialchars($_POST['tel'][$i])
);
}
$this->base_model->delete_data('customer_tel' , array('customer_id'=> $id));
$res = $this->base_model->insert_batch('customer_tel' , $tel);
答案 0 :(得分:0)
尝试
$this->db->delete('customer_tel' , array('customer_id'=> $id));
$res = $this->db->insert_batch('customer_tel' , $tel);
代替
$this->base_model->delete_data('customer_tel' , array('customer_id'=> $id));
$res = $this->base_model->insert_batch('customer_tel' , $tel);