1

Doctrine の Loggable 拡張機能を実装しました。しかし、今、私は次のケースを持っています。オブジェクトの「ステータス」を追跡したい。しかし、オブジェクトはすでにデータベースに存在し、それぞれに対応するステータスがあります。更新すると、log_entry にオブジェクトの最初のログが挿入され、そのステータスの新しい値が挿入されます。(ステータスをアクティブからサスペンドに変更し、ログエントリにサスペンドが挿入されたとしましょう)

どこにも記録されていないため、この瞬間から「アクティブ」ステータスを元に戻すことはできません。いくつかの方法で対処できますが、変更が発生する前に、ログ内のオブジェクトが現在のバージョンを保存しないように、新しいバージョンを挿入する代わりに、その Loggable Extension にいくつかのオプションがありますか?

4

1 に答える 1

1

LoggableListener から getObjectChangeSetData をオーバーライドできます。

古い値は $changes 配列に格納されます。

于 2017-01-20T17:14:48.977 に答える