こんにちは!ぐちです。
CakePHPの小技集としてシリーズ化(?)しようかなと思ってみたりしていますがちょっとしたTips的なものをご紹介したいと思います。
INSERT
どんなシステムでもほぼ間違いなく行っていると思われるデータ登録の処理 [INSERT] ですが、データ登録後にIDが必要な場面ってけっこうありますよね?例えばユーザーの登録後にそのIDをキーに関連するテーブルへデータを登録するなど。
INSERT処理は下記のように書きます。
class IndexController extends AppController { public $uses = array('TblHoge'); public function index() { // 登録するデータ $data = array( 'TblHoge' => array( 'name' => 'hoge', 'age' => 20 )); // 登録するフィールド $fields = array( 'name', 'age' ); if($this->TblHoge->save($data, false, $fields)) { // 登録成功時の処理 } else { // 登録失敗時の処理 } } }
最終更新IDを取得
上記のようにCakePHPではINSERT処理を行う場合はsave()
メソッドを呼ぶのですがその際に登録されたIDを取得する方法が下記になります。save()
の部分だけを抜粋します。
if($this->TblHoge->save($data, false, $fields)) { // 登録成功時の処理 $id = $this->TblHoge->getLastInsertID(); } else { // 登録失敗時の処理 }
では今回はこの辺で。