2016-11-21 6 views
1

こんにちは私は、 "電子メール"と呼ばれる1つのフィールドを持つエンティティを持っているので、複数の選択ボックスを実装して、データベースに格納し、複数の電子メールを割り当てることができます。オプションは静的複数の値を1つのフィールドに保存する方法Symfony2

enter image description here

ているので、どのようなデータ型は、MySQLに単一のフィールドにそれを格納する方が良いだろう。編集ページでは、選択したままにする必要があります。

私はsymfony2をmysqlで使用しています。

示唆してください事前

+1

これは 'OneToMany'の教義関係ですか?私はあなたがエンティティ(例えば、ユーザー)と電子メールを含む別のもの(電子メール)を必要とすると思います。したがって、1人のユーザーが複数の電子メールを選択できます。詳細は、[this](http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html)を参照してください。 –

+0

はい、私は考えて、そのこと..ありがとう –

+0

それは別のエンティティとの関係ではない場合、それはコレクションになります、そうでなければ、あなたのエンティティで "配列"としてフィールドを指定することができます。 – progg

答えて

4

おかげで短い答えは:は、単一のフィールドではない店舗、複数の値、この災害のためのレシピを行います。このようなフィールドの修正や検索は悪夢です。 stackoverflowはそのような質問でいっぱいです。

適切な解決策は、独自のレコードに各値を別のテーブルに格納することです。したがって、エンティティテーブルにはおそらくエンティティを一意に識別するidフィールドがあります。エンティティIDと電子メールフィールドを持つentity_emails_toというテーブルがあります。エンティティに3人の受信者がある場合、このテーブルにはそのエンティティのレコードが3つあります。

+0

が正しいです。これを適切に保存するには、m:n関係を実装する必要があります。 –

+0

は、(選択ではなく)単純なテキストフィールドにして、使用可能なトークン(LOCATION_OWNERなど)のリストを置く新しい設定を定義します。次に、select2で今やっていることを思い出して、単に結果を ";"と結合して文字列として保存することができます。このソリューションはどうですか? –

+0

申し訳ありませんが、私はあなたが何を得ているのか理解できません。 – Shadow

関連する問題