我的模型中有一个代码,它会插入一个新数据并返回插入的ID,但它不会返回正确的ID而是返回" 0"值
function insert_request($data){
$this->db->insert('radiology_request', $data);
$request_id = $this->db->insert_id();
return $request_id;
}
我的主键是自定义自动增量。它的格式类似于" REQ-00001"。如何返回最后插入的ID?
答案 0 :(得分:1)
(代表OP发布)。
我通过创建另一个查询来选择最后一行来解决它。
function insert_request($data){
$this->db->insert('radiology_request', $data);
$this->db->select('*');
$this->db->from('radiology_request');
$this->db->order_by("request_id", "desc");
$this->db->limit(1);
$query = $this->db->get();
return $query->row();
}
答案 1 :(得分:0)
使用此代码的感觉更为通用。
function insert_request($tablename,$data_arr){
$ret = 0;
try {
$this->db->insert($tablename, $data_arr);
$ret = $this->db->insert_id() + 0;
return $ret;
} catch (Exception $err) {
return $err->getMessage();
}