Mendapatkan ID Auto-Tambahan Terakhir dengan Rekod Aktif CodeIgniter
Soalan:
Anda sedang cuba untuk mendapatkan ID auto-increment terakhir selepas melakukan operasi sisipan menggunakan Rekod Aktif CodeIgniter, tetapi kaedah add_post() dalam model anda mengembalikan nilai kosong.
Di Dalam Pengawal:
<code class="php">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); }</code>
Di Dalam Model:
<code class="php">function add_post($post_data){ $this->db->trans_start(); $this->db->insert('posts',$post_data); $this->db->trans_complete(); return $this->db->insert_id(); }</code>
Jawapan:
Masalahnya terletak pada susunan operasi dalam kaedah add_post() anda dalam model. Untuk mendapatkan semula ID auto-increment terakhir dengan betul selepas operasi sisipan, anda perlu:
Penyelesaian:
<code class="php">function add_post($post_data){ $this->db->insert('posts', $post_data); $insert_id = $this->db->insert_id(); return $insert_id; }</code>
Nota:
Jika anda membuat persembahan berbilang sisipan dalam satu transaksi, anda boleh menggunakan kaedah $this->db->trans_start() dan $this->db->trans_complete() untuk memulakan dan menamatkan transaksi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Increment Terakhir Selepas Operasi Sisipan dalam Rekod Aktif CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!