エンティティの編集フォームが作成フォームとは少し異なる場合があります。私はそれらを編集可能にしたくないので、いくつかのフィールドを表示しません。フォームの更新プロセスからエンティティフィールドを除外します。symfony2
しかし、このフォームを保存すると、含まれていないフィールドはすべてnullに設定されて保存されますが、これらのフィールドは更新プロセス全体から除外します。
どうすればこの問題を解決できますか?
エンティティの編集フォームが作成フォームとは少し異なる場合があります。私はそれらを編集可能にしたくないので、いくつかのフィールドを表示しません。フォームの更新プロセスからエンティティフィールドを除外します。symfony2
しかし、このフォームを保存すると、含まれていないフィールドはすべてnullに設定されて保存されますが、これらのフィールドは更新プロセス全体から除外します。
どうすればこの問題を解決できますか?
いくつかのオプションがあります:
$options['data']
というフォームタイプで取得し、IDがnull
かどうかを確認することができます。別のオプションは、代わりのhandleRequestのフォームを提出し、falseに2番目のパラメータ$のclearMissingを渡すことです:
$editForm->submit($request->request->get('form_name'), false);
は少し奇妙な最初のアプローチではないですか?編集フォームは作成フォームを拡張してはいけませんか?だから、基本的には、拡張クラスのフィールドをオフにして、フォームを「null」にしないでデータを設定できますか? – k0pernikus
別の方法で尋ねる:異なるオプションの上下に名前を付けることができますか?どちらをお勧めしますか? – k0pernikus