Codeigniter返回自定义ID

时间:2016-07-08 17:16:11

标签: php mysql codeigniter codeigniter-3

我的模型中有一个代码,它会插入一个新数据并返回插入的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?

2 个答案:

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