STERFIELD
開発ナレッジ2014.06.18

【symfony】collectionタイプのForm実装

久しぶりsymfonyのブログを書きます。
前から難しいと思ってたcollectionタイプFormの実装について、記事を見て、Entityが複数あってjqueryもあって、簡単に実装できないなあという感じでしたが、簡単な方法を思い出したので、今度こそやってみたいと思います。

Formの設定ファイル

複数のメールアドレスを取りたい場合、下記のようにフォームを設定します。

twigファイル

少々長くなりますが、大体下記のようになると思います。

「Add another email」をクリックすると、

に置換され、inputboxが増えていく感じです。

symfony2.0は、prototypeでは

を使ってましたが、symfony2.1からは

を使っているらしいです。

Controllerでの処理

Entityにemailsというカラムを持たせて、serializeしてDBに記録すればいいと考えています。

本当に意味あるのか?

collectionタイプって、複数Entityを関連させてはじめて意味があると思います。
単なるデータを記録するなら、テキストエリアを使えば十分対応できるかと思います。

WRITER

スターフィールド編集部

この著者の記事を見る

CONTACT

記事の内容について
相談したい方へ

実際の進め方は、状況を伺ってからご提案します。

2営業日以内にご返信します
資料ダウンロード無料相談に申し込む