私はSymfonyフォームが新しく、親オブジェクトを参照する隠しフィールドを持つフォームをどうやって作成するかを考えています。たとえば、連絡先と多対1の関係を持つリストがあります。新しい連絡先を作成するときは、連絡先が追加されるリストのIDを持つ非表示のフィールドが必要です。symfony2フォーム - フィールド参照親オブジェクトを隠す方法
現在ContactType
フォームにListIdType
というフォームを埋め込むようにしています。 ListIdType
フォームの唯一のフィールドはリストのIDです。これは、空の連絡先エンティティにリストを設定することができ、contact[list][id]
というフォーム(ListIdType
フォームで定義されている)の要素を自動的に設定するため、うまく機能します。この問題は、フォームを送信すると、リストクラスに要素 "id"または "setId()"が存在しないというエラーが表示されます。
私は何か間違っていると感じていますが、私は正しい方向に私を指すためのドキュメントを見つけることができません。
私はhttps://github.com/symfony/symfony/pull/1951を見つけました。その唯一の解決策はありますか?これを行うには、ネイティブのSymfonyの方法があるはずです。 – Icode4food
「データトランスフォーマー」を使った適切な対処方法については、http://symfony.com/doc/current/cookbook/form/data_transformers.html – KevinS
をご覧ください。運が良ければ、HiddenEntityTypeはすぐにSymfonyに移行します: https://github.com/symfony/symfony/issues/8293 – webDEVILopers