cake PHP 3系 で最後にインサートした投稿のIDを取得する

CakePHPでLast Insert IDを取得する必要がある場合がありました。 調べていると、$getLastInsertID();を使う方法が出てきたので試してみるもののエラーに。

さらに調べていると、この$getLastInsertID();はcake PHP2系でしか使えないみたいでした。

cakePHP3系では、以下の書き方でLast Insert IDを取得することができます。 エンティティーはsaveメソッド実行後id を持っているのでsaveメソッド実行後に

$entity->id

として取得することができます。

$article = $this->ModelName->newEntity();

//...

if ($articlesTable->save($article)) {
    // $article エンティティーはsaveメソッド実行後idを持っている
    $id = $article->id;

    //.....
}

ハックノートをフォローして
最新情報をチェックしよう

AWS構築サービスの全てをまとめた資料を公開中

ハックノート(TOWN株式会社)では、AWSの導入や構築支援を行っています。AWS導入メニューやサービス詳細、構成例や費用を掲載した資料をダウンロードできます。

AWSの新規導入やAWSへの移行を検討の際は、ぜひご参考ください。


APNコンサルティングパートナー

TOWN株式会社はAmazon公認コンサルティングパートナーです。