[cakephp4] dirtyとoriginal
1 | $entity = $this->patchEntity($entity, $data); |
patchEntityすると、変更したところと、変更前の内容が取れる。
dirtyとoriginal。
1 2 | $entity = $this->patchEntity($entity, $data); $dirty = $entity->getDirty(); |
$dirtyには変更したところの配列が入る。
1 2 | $entity = $this->patchEntity($entity, $data); $original = $entity->getOriginal(); |
しかしoriginalは同様には動かず、上記だと$originalにentityがそのまま入る。
getOriginalは、フィールドを指定しないと駄目らしい。
1 | $original = $entity->getOriginal('name'); |
例えば、こんな感じ。
ちなみに配列は受付けてなくて、フィールド一つだけみたい。
1 2 3 | $entity = $this->patchEntity($entity, $data); $dirty = $entity->getDirty(); $original = $entity->getOriginal($dirty); |
こんなことをしても駄目だった。
cakephp3も同じなのかな?調べてない。
以上、日本語の情報が見当たらなかったのでメモです。
前の記事: BaserTestCaseで特定プラグインの有無でfixturesを振り分ける
次の記事: 【二種免許】深視力検査合格のコツや裏技
2021/09/14 | 開発記録
コメント/トラックバック
トラックバック用URL:
この投稿のコメント・トラックバックRSS