[CodeIgniter] Active RecordでInsertして発行されたIDを取得する

CodeIgniterで管理画面的なものを使っている時に、Insertした時にMYSQLのLAST_INSERT_IDと同じことがCodeIgniterのActive Recordでできないかと思って、調べてみました。

insert_idメソッドを使う

結論から言うと、「insert_id」メソッドを使うことでMYSQLで言うところのLAST_INSERT_IDを取得することができます。

まずは、普通にinsertをします。

$this->db->insert("table", $data);

直後にinsert_idをコールします。

$last_id = $this->db->insert_id();

var_dump($last_id);
//int(1)など

簡単ですね。


MYSQLでなくても、SQLite3でも使えたのでおそらく他のデータベースでも使えると思います。