CakePHPでインサートしたLastInsertIDを取得する方法

シェアする

CakePHPでインサートしたLast Insert IDを取得する必要がある場合があると思います。
この記事では、CakePHPでインサートしたテーブルのLast Insert Idを取得する方法について紹介します。

CakePHP2系

CakePHP2系の場合、下記の方法でインサートしたテーブルのLast Insert Idを取得することができます。

CakePHP2系の場合、getInsertID()メソッドを使用する場合とgetLastInsertID()メソッドを使用する方法があります。
getLastInsertID()はgetInsertID()をラップしているだけなので、どちらを使用しても同じ結果を得ることが出来ます。

CakePHP3系

execute()メソッドを使用した場合

CakePHP3系でexecute()メソッドを使用してinsertの処理をした場合、下記の方法でLast Insert IDを取得することが出来ます。

execute()メソッドを使用し、Insertした場合は、executeメソッドの戻り値のインスタンスのlastInsertId()メソッドを使用することでLast Insert IDを取得することが出来ます。

save()メソッドを使用している場合

save()メソッドを使用し、insertの処理を行うことも多々あると思います。
そのような場合は、下記のようにすることでLast Insert Idを取得することが出来ます。

CakePHPを使用する上で、Last Insert Idを取得する機会はあると思うので覚えておくと良いと思います。

Cakephp 3.0 how to get lastInsertId – CakePHP Official Forum

シェアする

フォローする