CodeLab技術ブログ

プログラミング技術まとめ

[CakePHP3.x]新規保存時にid(PK)を自前で設定したい

| 0件のコメント

CakePHP3で新規でテーブル保存時にはid(PK)は自動で設定してくれてすごく便利なんですが、何らかの理由で自分で設定したい場合はどうしたらいいのか?

スポンサードリンク

ダメだった方法

下記のようにnewEntry()で渡してあげればいい・・・のかな?と思ったらだめでした。

$entity = $this->Users->newEntity(['id'=>999,'name'=>'hogehoge');
$this->Users->save($entity);

成功した方法

公式を調べてみたんだけど、それらしい情報が載ってなかったので、いろいろ試してみた結果。

$entity = $this->Users->newEntity(['name'=>'hogehoge');
$entity->id = 999;
$this->Users->save($entity);

entityに直接idを入れてあげて保存すればよいみたいでした。

スポンサードリンク
スポンサードリンク

コメントを残す