代码点火器 更新一行两个表



我的问题是pullout_qty表列在更新描述和date_requested时没有更新。

function update_save() {
var cnt = parseInt($('#tblBB_rows_cnt').val());
var description = $('#form_description').val();
var status = $('#stat_filter').val();    
var qty = [];
var z = 0;
for (var x = 0; x < cnt; x++) {
if ($('#tblC_visibility' + x).val() == 1) {
qty[z] = $('#tblC_qty' + x).val();
z += 1;
}
}
$.ajax({
url: URL + "index.php/pullout_request/loadEditSave",
method: "POST",
data: {
qty: qty,
description: description,
status: status
},
success: function(data) {
SYS_pending_setlist();
setTimeout(function() {
$("#dialog1").dialog("close");
}, 500);
},
error: function(err) {
console.log(err);
}    
});
}

这里有两个单独的表,across_pulloutacross_pullout_items。当我更新它时,只有across_pullout被更新了。across_pullout_items中的pullout_qty变为 0(输出(

$pullout_qty=$_POST['qty']; 
$status=$_POST['status'];
$date_requested=date("Y-m-d H:i:s");
$description=$this->db->escape_str($_POST['description']);
$sql .= "UPDATE `across_pullout` SET date_requested='$date_requested', `description`='$description' where status='0' and remark='1';";
$sql.= "UPDATE across_pullout_items set pullout_qty='$pullout_qty' where remark='1';";
?>

如果我没有错,请纠正我。 在代码点火器中, 不能使用一个 SQL 语句更新多个表。不过,Codeigniter确实允许您使用事务。像下面一样

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();

以下是此交易的完整文件,请查看... 这也将帮助您同时运行两个查询,使用事务的优点它只会在两个查询返回成功时插入数据......