STERFIELD

【symfony】collectionタイプのForm実装

【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を関連させてはじめて意味があると思います。
単なるデータを記録するなら、テキストエリアを使えば十分対応できるかと思います。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい