У меня есть модель, как это:
function data_input($data, $file_upload) {
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL", FALSE); //false escape
$this->db->insert('FIRST_TABLE', $data);
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL -1", FALSE); //false escape
$this->db->insert('SECOND_TABLE', $file_upload);
return true;
}
И я хочу отправить ID_KEY
значение для контроллера и использовать его для обновления базы данных на основе его ID_KEY
,
Моя проблема, я могу генерировать ценность ID_KEY
что то же самое в FIRST_TABLE и SECOND_TABLE, но я не могу отправить значение в контроллер.
или, Могу ли я использовать другой метод, чтобы получить значение "insert_id()"
вставки в оракул активной записи. (или используя $this->db->query
?)
В кодеигниторе; Вызов $ this-> db-> insert_id () возвращает идентификатор последних вставленных данных. Если вы планируете вернуть последний идентификатор вставки обоих запросов, я бы сделал это так:
function data_input($data, $file_upload) {
$insert_id_collection = array();
// first table query
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL", FALSE); //false escape
$this->db->insert('FIRST_TABLE', $data);
$insert_id_collection['first_table_name'] = $this->db->insert_id();
// second table query
$this->db->set('ID_KEY', "LASTID_SEQ.NEXTVAL -1", FALSE); //false escape
$this->db->insert('SECOND_TABLE', $file_upload);
$insert_id_collection['second_table_name'] = $this->db->insert_id();
// this will contain to last insert ID;
return $insert_id_collection;
}
Причина, по которой я поместил индекс индекса в имя таблицы, чтобы вы могли определить, какой идентификатор последней вставки это;
Надеется, что это поможет вам; Удачного кодирования
Других решений пока нет …