私はマスターテーブルのIDをトランザクションテーブルに挿入しようとしています。挿入物がループ内で起こっています。挿入された行から最後のIDを取得する方法は?
行動:
- 挿入マスター
- ゲットID
- 挿入トランザクション
- 挿入マスター
- ID
- 挿入トランザクションを取得します
コントロールLER:
//Insert Master
foreach($arr_master as $res_master){
/*$data['ID_REQUIREMENT_TRANS'] this is an auto-increment column. Inserted automatically*/
$data['ID_REQUIREMENT'] = $res_master;
$data['SENT_BY_DATE'] = date("Y-m-d H:i:s");
$data['STATUS'] = 1;
$this->MAdmin->ins_assign_pic($data);
//Insert Trans
foreach($arr_trans as $res_trans){
$data_d['ID_REQUIREMENT_TRANS'] = $id; //Need to get the last inserted id of the master table
$data_d['RECEIVED_BY'] = $res_trans;
$data_d['RECEIVED_BY_DATE'] = NULL;
$data_d['STATUS'] = 1;
$this->MAdmin->ins_assign_pic_d($data_d);
}
}
モデル:
function ins_assign_pic($data){
$q_ins_assign_pic = $this->db->insert('pm_requirement_assign_pic',$data);
return $q_ins_assign_pic;
$id = $this->db->insert_id();
return $id; //How to send this to my controller
return true;
}
function ins_assign_pic_d($data_d){
$q_ins_assign_pic_d = $this->db->insert('pm_requirement_assign_pic_d',$data_d);
return $q_ins_assign_pic_d;
}
'$ id = $ this-> MAdmin-> ins_assign_pic($ data);'は私にマスターの二重データを与えます。 '$ id = $ this-> MAdmin-> ins_assign_pic($ data);'を使用すると、masterの1つのデータだけが挿入されます。なぜ?? – ashura91
あなたは '$ data_d ['ID_REQUIREMENT_TRANS']'として他の値(例:1)を使用しているとしたら、 'ashura91 –
の' foreach($ arr_master as $ res_master){'を調べたいかもしれません。データの挿入は完璧です。私はそれがforeachではないと思う。 – ashura91