Abrufen der letzten automatisch inkrementierten ID mit CodeIgniter Active Record
Frage:
Sie Sie versuchen, die letzte automatisch inkrementierte ID abzurufen, nachdem Sie einen Einfügevorgang mit dem Active Record von CodeIgniter durchgeführt haben, aber die Methode add_post() in Ihrem Modell gibt einen leeren Wert zurück.
Im Controller:
<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>
Im Modell:
<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>
Antwort:
Das Problem liegt in der Reihenfolge Operationen in Ihrer add_post()-Methode im Modell. Um die letzte automatisch inkrementierte ID nach dem Einfügevorgang korrekt abzurufen, müssen Sie:
Lösung:
<code class="php">function add_post($post_data){ $this->db->insert('posts', $post_data); $insert_id = $this->db->insert_id(); return $insert_id; }</code>
Hinweis:
Wenn Sie performen Wenn Sie mehrere Einfügungen in einer einzigen Transaktion durchführen, können Sie die Methoden $this->db->trans_start() und $this->db->trans_complete() verwenden, um die Transaktion zu beginnen und zu beenden.
Das obige ist der detaillierte Inhalt vonWie rufe ich die letzte automatisch inkrementierte ID nach einem Einfügevorgang im aktiven CodeIgniter-Datensatz ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!