DEVELOPERS BLOGデベロッパーズブログ
- HOME >
- 加藤 正人のデベロッパーズブログ >
- CakePHP3 のミューテータで書き換えたデータが保存されない件
加藤 正人のデベロッパーズブログ
- 氏名
- 加藤 正人
- 役職
- 多分SE
- 血液型
- 秘密
- 出没
- 美味しいもののあるところ
- 特色
- タヒチ大好き。ちょいメタボ。
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/11/12
- Apache Bench
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
CakePHP 3.x では Virtual Field が無くなって、データの加工には読み出し用には accessor、書き込み用には mutator が用意された。
例えばフォームでは姓と名が別フィールドだがデータベースのレコードはフルネームで保存するような場合に mutator で姓フィールドと名フィールドを結合してフルネーム欄に格納するようなことができる。
ただし、ただ結合してエンティティに書き込んだだけでは変更フラグ (dirty フラグ) が設定されず、save() を実行しても保存されない。
そのような場合は当該 mutator メソッド内で setDirty() をしてやることで save() 時に正しく保存されるようになる。
2020/12/15
2020/11/12
2020/10/05
2020/09/11
2020/08/03