2011-05-10 13 views
0

私はフォームを作成するアクションを持っています。フォームのアクションは、次の関数を指す:symfonyのアップデート機能に新しいフォームが必要な理由を説明できますか?

public function executeUpdateInlineForm(sfWebRequest $request) 
{ 

    $overdueInvestigation = Doctrine_Core::getTable('investigation')->find($request->getParameter('id'));  
    $this->form = new investigationInlineForm($overdueInvestigation); 

    $this->processInlineForm($request, $this->form); 
} 

私は理解していない私は私がやろうとしていますすべては既存のものを保存するときに新しいフォームをインスタンス化必要とする理由ですか?

私のフォームには2つの異なるテーブルのフィールドがあり、ユーザーがサブミットするときに両方のテーブルを更新できるようにしたいので、これを求めています。したがって、私はこれを行う正しい方法を見つけ出す必要があります。

答えて

0

クラスを処理しているため、インスタンス化する必要があります。フォームが提出されると、もともとレスポンスをレンダリングしたスクリプトと、その中に入ったすべてのスクリプトが消えてしまいました。この関数はそれについてもう知らない。

+0

ああ、ありがとう、大変ありがとうございます。 – Nicola

+0

フォームのフィールドが空であれば、これらのフィールドを上書きしないように、フィールドをフォームに保存するためにテーブル調査を行っていますか?だから、私のテーブル行にすでにデータがない場合、データベースレコードを取得してフォームに格納する必要はありませんか? – Nicola

+0

ニコラ:あなたがしたいことに応じてどちらの方法も可能です。通常、フォーム提出の後、$ requestデータを使用してフォームクラスを埋めるので、検証および保存することができますが、実際にはコードの内容に依存します。 – Tom

0

symfonyが通常フォーム提出時に新しいフォームを作成する理由は、無効なフィールドが強調表示されたフォームの表示を処理して再試行できるようにするためです。

関連する問題