エンティティのどの属性が変更されたかを調べようとしています。私が見た限りでは、オブジェクトの属性がダーティかどうかをチェックするメソッドを持つ PersistenceSession があります。ただし、古いオブジェクトを登録しないため、常に true です。
したがって、QuickGuide からデモを取得し、CoffeeBeanRepository の update メソッドをオーバーライドすると、次のようになります。
/**
* @param \Acme\Demo\Domain\Model\CoffeeBean $coffeeBean
*/
public function update($coffeeBean) {
\TYPO3\Flow\var_dump($this->persistenceSession->isDirty($coffeeBean, 'name'), "name changed before");
parent::update($coffeeBean);
\TYPO3\Flow\var_dump($this->persistenceSession->isDirty($coffeeBean, 'name'), "name changed after");
}
...何も変更していないにもかかわらず、常にTRUE(両方)です。
これをどのように達成できるかについてのアイデア/リファレンスはありますか? ユーザーがいくつかのフィールドを更新できず、いくつかのフィールドの編集時に追加のアクションを実行する必要があるREST APIに使用しています。