我尝试将数据插入到多个表和多行的单个表单中,此时我有两个表pms_service_fee和pms_service_fee_detail,,当用户提交表单时,数据将转到两个表中。
我的模型
function add_pms($data)
{
$data = escape_array($data);
$pms_data = [
'unit_id' => $data['unit_id'],
];
if(isset($data['edit_pms_id'])) {
$this->db->set($pms_data)->where('id', $data['edit_pms_id'])->update('pms_service_fee');
} else {
$this->db->insert('pms_service_fee', $pms_data);
}
$pms_id = $this->db->insert_id();// I have this array, But is not a good idea because I want that array in loop. But I don't know how.
$pms_service_fee_detail = [
[
'pms_id' => $pms_id,
'pms_service_fee_id' => $data['pms_service_fee_id'][0],
'pms_service_fee_price' => $data['pms_service_fee_price'][0],
],
[
'pms_id' => $pms_id,
'pms_service_fee_id' => $data['pms_service_fee_id'][1],
'pms_service_fee_price' => $data['pms_service_fee_price'][1],
],
];
$this->db->insert_batch('pms_service_fee_detail', $pms_service_fee_detail);
}发布于 2022-10-07 04:22:02
您可以使用循环将数组推入数组中,如下所示。
$data = escape_array($data);
$pms_data = [
'unit_id' => $data['unit_id'],
];
if(isset($data['edit_pms_id'])) {
$this->db->set($pms_data)->where('id', $data['edit_pms_id'])->update('pms_service_fee');
} else {
$this->db->insert('pms_service_fee', $pms_data);
}
$pms_id = $this->db->insert_id();
$pms_service_fee_detail = [];
/ * Your Loop Here to Push the values to the array */
foreach($yourArray as $key => $value) {
$pms_service_fee_detail[] = [
'pms_id' => $pms_id,
'pms_service_fee_id' => $yourArray[$key]['pms_service_fee_id'],
'pms_service_fee_price' => $yourArray[$key]['pms_service_fee_price'],
];
}
$this->db->insert_batch('pms_service_fee_detail', $pms_service_fee_detail); https://stackoverflow.com/questions/73982044
复制相似问题