こんにちは!ぐちです。
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 {
// 登録失敗時の処理
}
では今回はこの辺で。