私のデータについて: 私は現在、php/symfony2/doctrine/postgres を使用して小さな Web ページを開発しています。基本的に、いくつかのサイトからデータを収集して表示しています。データは、「子供」、「10 代」、「大人」、「高齢者」の 4 つのグループに分けられます。これらのタグは長期間変更されません。どのデータを表示するかを決定できるフィルターを表示したいと考えています。ユーザーの 80% は大人なので、これがデフォルトです。また、10 代の場合は、10 代と大人のデータを同時に表示 (=> 複数選択) すると興味深いでしょう。
質問: DataObject でこれら 4 つのタグ ('k'、't'、'a'、's') を保持する最善の方法は、各 DataObject に少なくとも 1 つのタグが必要です。
私が思いついた可能な解決策:
1) タグを文字列 (または疑似列挙型) として実装し、それらを DataObject の ArrayCollection に格納します。
=>やり過ぎのようです
2) タグを配列に格納する (ColumnType=array)
=>教義でクエリするのは難しい
3) 各タグをブール列として DataObject に格納します
=> 気分が乗らない
私はこれらのソリューションのいずれにも満足していません。私が何をすべきか提案はありますか?
編集:私は多くのことをテストし、私の問題について考え、私の最大の問題は「複数選択」であることがわかりました。だから私はそれを落として、タグをString/Enumとして実装しました。