【问题标题】:Codeigniter returning custom idCodeigniter 返回自定义 id
【发布时间】:2016-11-11 08:24:13
【问题描述】:

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

【问题讨论】:

  • $this->db->insert_id(); 的唯一功能是 id 自动递增并调用 id
  • 你使用 codeigniter 2 吗?还是codeigniter 3?
  • codeigniter 3 @AniruddhaChakraborty
  • 你是怎么解决的?你能回答你自己的问题吗?

标签: php mysql codeigniter codeigniter-3


【解决方案1】:

使用此代码感觉更通用。

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

【讨论】:

  • 它也不起作用,但我已经解决了。还是谢谢!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 1970-01-01
    • 2020-04-27
    • 2012-05-21
    • 2018-11-16
    • 2014-01-19
    • 2013-11-07
    • 2020-04-03
    • 1970-01-01
    相关资源
    最近更新 更多