как получить последний идентификатор вставки после запроса вставки в активной записи codeigniter
у меня есть запрос вставки (активный стиль записи), используемый для вставки полей формы в таблицу MySQL. Я хочу получить последний автоинкрементное ID для вставки как вернуть стоимость моего запроса, но у меня есть некоторые проблемы с ним.
внутри контроллера:
function add_post(){
$post_data = array(
'id' => '',
'user_id' => '11330',
'content' => $this->input->post('poster_textarea'),
'date_time' => date("Y-m-d H:i:s"),
'status' => '1'
);
return $this->blog_model->add_post($post_data);
}
и внутри модели:
function add_post($post_data){
$this->db->trans_start();
$this->db->insert('posts',$post_data);
$this->db->trans_complete();
return $this->db->insert_id();
}
Я ничего не получаю как возврат add_post в model
5 ответов
попробуй такое
function add_post($post_data){
$this->db->insert('posts', $post_data);
$insert_id = $this->db->insert_id();
return $insert_id;
}
в случае нескольких вставок вы можете использовать
$this->db->trans_start();
$this->db->trans_complete();
транзакция здесь не нужна, этого должно быть достаточно:
function add_post($post_data) {
$this->db->insert('posts',$post_data);
return $this->db->insert_id();
}
С документация:
$this - >db - >insert_id ()
идентификатор вставки при выполнении вставки базы данных.
поэтому вы можете использовать что-то вроде этого:
$lastid = $this->db->insert_id();