Symfony2:送信されたデータに基づいてコレクションで異なるフォームタイプを使用する

JohannesKlauß

ベースから継承するエンティティがいくつかありWidgetます。

フォームにwidgetsは、コレクションであるフィールドがあります。このフォームは、1:nとの関係を持つエンティティに基づいていますWidget私がやりたいのは、(で送信されたデータに基づいてwidgets)特定のサブクラスを作成して、実際のオブジェクトを検証および作成することです。

フォームでは、次のようにフィールドを定義しました。

$builder->add('widgets', 'collection', array(
    'type' => new WidgetType(),
    'allow_add' => true
));

たとえば、2つのサブクラスとがImageWidgetありMapWidgetます。FormTypesこれら2つのエンティティ用に作成しましたが、クライアントは次のデータを送信しています(FOSRestBundleを使用しています)。

...
"widgets": [
    {
        "widget_type": "map",
        "stationId": 543647
    },
    {
        "widget_type": "image",
        "image": "data:image/png;data,...."
    }
]

そして、プロパティwidget_type(データベース内のウィジェットタイプを区別するためにDoctrineが使用するプロパティ)に基づいて、フォームでMapWidgetType最初のエントリImageWidgetType用と2番目のエントリ用のを作成する必要があります。

これは可能ですか?

私はSymfony2.5を使用しています

ヤギ

このバンドルは問題を解決するはずです:https//github.com/infinite-networks/InfiniteFormBundle#polycollection

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Symfony2は、2つの異なるタイプに基づいて入力済みフォームを作成します(editAction)

分類Dev

選択されたものに基づいてフォームアクションを送信するDjango

分類Dev

クリックされたボタンに基づいてフォーム送信URLを変更する

分類Dev

ルックアップを使用して2つの異なるコレクションからデータを取得する方法と、ルックアップに条件を追加して、条件に基づいてデータを取得する方法は?

分類Dev

インデックスのリストに基づいて、異なるデータフレームを作成し、それを異なるcsvに出力します

分類Dev

Symfony2のコレクションフォームからデータを更新する

分類Dev

Symfony2:コレクションフィールドタイプのエントリーフォームを追加/削除するにはどうすればよいですか?

分類Dev

同じフォームのドロップダウンで選択されたアイテムに基づいて、パレットの使用可能なセクションから選択されたセクションにアイテムを移動する方法は?

分類Dev

Symfony2フォーム-フォームビルダーでパラメーター化されたコンストラクターを使用する方法

分類Dev

指定されたインデックスに基づいてデータフレームを並べ替える

分類Dev

フォームに送信されたデータに基づいて検証を選択する

分類Dev

Railsのシンプルなフォームでチェックされたラジオボタンに基づいて入力フォームをレンダリングする方法

分類Dev

異なるフォントを使用するためにselectの各オプションのスタイルを設定するにはどうすればよいですか(マテリアライズCSSフレームワークを使用)

分類Dev

列に基づいてサイズの異なる2つのデータフレームを比較するにはどうすればよいですか?

分類Dev

異なる長さの文字列に基づいて2つのデータフレームを操作する

分類Dev

クリックされた送信ボタンに応じて、異なるMVC投稿アクションにフォームを投稿する

分類Dev

送信ボタンが押されたときに選択したオプションに基づいてHTMLフォームアクションを変更する

分類Dev

ASP.NET MVC4を使用していて、1つの送信ボタンで2つのフォームを送信したいのですが、フォームコレクションを使用してデータをフェッチしたいのです。

分類Dev

同じ値のペアを持つが、2つのデータフレームで異なる順序で表示される2つの列に基づいてパンダのデータフレームをマージします

分類Dev

symfony2のコレクションフォームに値を追加する

分類Dev

フォームを 2 つの異なるページに投稿し、送信されたページでフォーム データを使用する方法は?

分類Dev

Symfony2:フォームデータを処理する前にプレビューするための良いパターンは何ですか?

分類Dev

フォークされたプロセスからパイプを介してマーシャリングされたデータを送信するときにエンコードを処理するにはどうすればよいですか?

分類Dev

symfony2フォームは、コレクションとエンティティを組み合わせた新しいタイプを作成します

分類Dev

[送信]をクリックしたときに1つのフォームアクションで、1つの列の値が異なる2つのエントリがデータベースに挿入される可能性はありますか(Codeigniter)

分類Dev

Symfony2フォームのコレクションアイテムにモデルトランスフォーマーを適用するにはどうすればよいですか?

分類Dev

プレフィックスで始まる1つの列名の値に基づいて、データフレームを異なるデータフレームに分割するにはどうすればよいですか?

分類Dev

パラメータで渡されたタイプに基づいて異なるコードを実行するswitchステートメントを使用してジェネリック関数を作成する

分類Dev

2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

Related 関連記事

  1. 1

    Symfony2は、2つの異なるタイプに基づいて入力済みフォームを作成します(editAction)

  2. 2

    選択されたものに基づいてフォームアクションを送信するDjango

  3. 3

    クリックされたボタンに基づいてフォーム送信URLを変更する

  4. 4

    ルックアップを使用して2つの異なるコレクションからデータを取得する方法と、ルックアップに条件を追加して、条件に基づいてデータを取得する方法は?

  5. 5

    インデックスのリストに基づいて、異なるデータフレームを作成し、それを異なるcsvに出力します

  6. 6

    Symfony2のコレクションフォームからデータを更新する

  7. 7

    Symfony2:コレクションフィールドタイプのエントリーフォームを追加/削除するにはどうすればよいですか?

  8. 8

    同じフォームのドロップダウンで選択されたアイテムに基づいて、パレットの使用可能なセクションから選択されたセクションにアイテムを移動する方法は?

  9. 9

    Symfony2フォーム-フォームビルダーでパラメーター化されたコンストラクターを使用する方法

  10. 10

    指定されたインデックスに基づいてデータフレームを並べ替える

  11. 11

    フォームに送信されたデータに基づいて検証を選択する

  12. 12

    Railsのシンプルなフォームでチェックされたラジオボタンに基づいて入力フォームをレンダリングする方法

  13. 13

    異なるフォントを使用するためにselectの各オプションのスタイルを設定するにはどうすればよいですか(マテリアライズCSSフレームワークを使用)

  14. 14

    列に基づいてサイズの異なる2つのデータフレームを比較するにはどうすればよいですか?

  15. 15

    異なる長さの文字列に基づいて2つのデータフレームを操作する

  16. 16

    クリックされた送信ボタンに応じて、異なるMVC投稿アクションにフォームを投稿する

  17. 17

    送信ボタンが押されたときに選択したオプションに基づいてHTMLフォームアクションを変更する

  18. 18

    ASP.NET MVC4を使用していて、1つの送信ボタンで2つのフォームを送信したいのですが、フォームコレクションを使用してデータをフェッチしたいのです。

  19. 19

    同じ値のペアを持つが、2つのデータフレームで異なる順序で表示される2つの列に基づいてパンダのデータフレームをマージします

  20. 20

    symfony2のコレクションフォームに値を追加する

  21. 21

    フォームを 2 つの異なるページに投稿し、送信されたページでフォーム データを使用する方法は?

  22. 22

    Symfony2:フォームデータを処理する前にプレビューするための良いパターンは何ですか?

  23. 23

    フォークされたプロセスからパイプを介してマーシャリングされたデータを送信するときにエンコードを処理するにはどうすればよいですか?

  24. 24

    symfony2フォームは、コレクションとエンティティを組み合わせた新しいタイプを作成します

  25. 25

    [送信]をクリックしたときに1つのフォームアクションで、1つの列の値が異なる2つのエントリがデータベースに挿入される可能性はありますか(Codeigniter)

  26. 26

    Symfony2フォームのコレクションアイテムにモデルトランスフォーマーを適用するにはどうすればよいですか?

  27. 27

    プレフィックスで始まる1つの列名の値に基づいて、データフレームを異なるデータフレームに分割するにはどうすればよいですか?

  28. 28

    パラメータで渡されたタイプに基づいて異なるコードを実行するswitchステートメントを使用してジェネリック関数を作成する

  29. 29

    2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

ホットタグ

アーカイブ