1

エンティティのどの属性が変更されたかを調べようとしています。私が見た限りでは、オブジェクトの属性がダーティかどうかをチェックするメソッドを持つ 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に使用しています。

4

1 に答える 1