ORM一覧

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

Symfonyを使用していて、insertとしたテーブルのID(プライマリーキー)を取得する必要がある時があると思います。

今回の記事では、Symfony3を使用しインサートしたLast Insert IDを取得する方法を紹介します。

DBALを使用する場合

DBに接続をし、クエリを実行後、lastInsertId()メソッドを実行するとLast Insert IDを取得することが出来ます。
DBへの接続方法は、この例ではSQLiteを使用していますが、MySQLなど他のDBでは違うので下記のリンクから接続方法を調べてみてください。
Doctrine DBAL 2 documentation

ORMを使用する方法

ORMを使用した場合も違う方法でLast Insert IDを取得することが出来ます。

ORMを使用した場合は、モデルを具象化したインスタンスのgetId()をクエリ実行後に呼ぶことでLast Insert IDを取得することができます。