我嘗試以單個表單將資料插入多個表和多行,我有兩個表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);
}
uj5u.com熱心網友回復:
您可以使用回圈將陣列推送到陣列中,如下所示。
$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://www.uj5u.com/caozuo/514621.html
標籤:php代码点火器
上一篇:PHP陣列鍵總是回傳零
