2012-04-14 6 views
0

かなり前にライアンウィーバーはStackに、あるフォームタイプを別のフォームタイプに埋め込むことでフォームを使用する方法を説明しました。 は重複を防ぐために、ここで私の最初の問題のコンテキストを読む時間の小さなビットをしてください。新しいマシンを登録するとき Symfony2 form where the data objects doesn't match exactly what needs to be filled in編集時にオブジェクト上の関連エンティティを設定すると、以前の関連エンティティが上書きされます

フォームは素晴らしい作品。ユーザーはモニターのシリアルナンバーを入力します。しかし、モニターのシリアルナンバーを変更して既存のマシンを編集すると(つまり、ユーザーが自分のモニターを別のモニターに置き換えて、私に新しいシリアル番号を教えて知らせる)、何か変なことが起こります。

マシンが新しいモニターに正しくリンクされるため、問題ありません。しかし、何とか以前のモニターは、それが '新しいシリアルナンバー'で上書きされているシリアルナンバー値を見つける。ユーザーがMonitorオブジェクトを編集していた場合のように、これはアイデアではありません。

これは、 '$ form-> bindRequest($ this-> getRequest());'を実行したときに発生し、後でMachineオブジェクトがフラッシュされると仮定します。しかし、それは関係として新しいモニターだけでフラッシュされるべきであり、古いものに何もしません。

誰も私がこれを防ぐために何ができるか、あるいは私が間違っていることを知っていますか? このコードは、Ryanがリンク先の投稿で私に言ったことの正確な複製です。

乾杯と感謝、

ディーター

答えて

1

は基本的に、あなたは$ EM-を呼び出したい>($ originalMonitor)を更新します。あなたが新しいモニターを持っていることを知っているとき。それは、あなたが推測したように、bindRequestが呼ばれているときに変更されている元のモニターのデータをリロードします。

+0

これは私の必要と同じように聞こえる。 refresh()イベントがあったことに気付かなかった。 Tbh、私はそれがほとんどどこにも書かれているようだGoogleそれはそれ。私は今週どこかでそれを試してみるつもりですが、私が確認を持っていれば答えとして返答します。ありがとう! – Dieter

+0

frackin 'の魅力のように動作します:-)、おかげで束! – Dieter

関連する問題