Codeigniter 返回自定义 ID

Codeigniter returning custom id

我的模型中有一段代码将插入新数据和 returns 插入的 ID,但它 return 不是正确的 ID,而是 returns “0”值

function insert_request($data){
  $this->db->insert('radiology_request', $data);
  $request_id = $this->db->insert_id();
  return $request_id;
}

我的主键是自定义自增。它的格式类似于 "REQ-00001"。我如何 return 最后插入的 ID?

使用此代码感觉更通用。

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();
        }

(代表 OP 发布)。

我已经通过创建另一个查询 select 最后一行解决了这个问题。

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();
}