2016-07-08 6 views
2

У меня есть код в моей модели, которая будет вставлять новые данные и возвращает вставленную ID, но он не возвращает правильный идентификатор вместо этого он возвращает «0» значениеCodeigniter возвращения пользовательских ID

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

Мои Первичный ключ - это настраиваемый автоинкремент. Он имеет формат «REQ-00001». Как вернуть последний вставленный идентификатор?

+1

Параметр '$ this-> db-> insert_id();' только функция с Autoincrement идентификатором и называется идентификатор – elddenmedio

+0

вы используете CodeIgniter 2? или codeigniter 3? –

+0

codeigniter 3 @AniruddhaChakraborty – localdisknoob

ответ

1

(Отправлено от имени ОП).

Я решил это, создав еще один запрос, чтобы выбрать последнюю строку.

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

тоже не работает, но я уже решил. Спасибо, в любом случае! – localdisknoob

Смежные вопросы