私はPost
エンティティとPostType
を持っています。Symfony - フォームイベント - 新しいデータと古いデータを取得する
投稿エンティティにはフィールド$requireModeration
があります。これは誰かがこの投稿をチェックし、公開する前に承認する必要があることを意味します。
私が投稿を編集しているとき、古い投稿値と新しい投稿値を比較したいと思います。値が変更された場合は、requireModeration
フラグをtrueに変更したいと考えています。
フォームイベントを介して行うことはできますか?
このような何か:
public function postSubmit(FormEvent $event)
{
$newPost = $event->getData();
$newContent = $post->getContent(); // return new contant of post
$oldPost = ... // here I want to get old post
$oldContent = $oldPost->getContent();
if($newContent != $oldContent) {
// ...
}
}
しかし残念ながら、私は唯一の新しい、ちょうどFormEventオブジェクトを介してデータを送信されますすることができます。
フォームフィールドを事前に入力して新しいものと古いものを比較するために使用するエンティティオブジェクトを追跡する必要があります。新しいデータを投稿すると、フォームイベントは以前のデータのレコードを持ちません。 – LMS94