关于我的数据的一些事情:我目前正在使用 php/symfony2/doctrine/postgres 开发一个小网页。基本上,我只是从几个站点收集和显示数据。数据分为四组:“儿童”、“青少年”、“成人”、“老年人”。这些标签在很长一段时间内都不会改变。我想显示一个过滤器,您可以在其中决定要查看哪些数据。由于 80% 的用户是成年人,这应该是默认设置。同样对于青少年来说,同时查看青少年和成人的数据会很有趣(=> 多选)。
问题: 在我的 DataObject 中保留这 4 个标签('k'、't'、'a'、's')的最佳方法是什么,每个 DataObject 必须至少有一个标签。
我想出了可能的解决方案:
1)将Tag实现为String(或伪枚举)并将它们存储在DataObject中的ArrayCollection中
=> 似乎有点矫枉过正
2)将标签存储在数组中(ColumnType=array)
=> 难以用教义查询
3) 将每个标签作为布尔列存储在 DataObject 中
=> 感觉不对
我对这些解决方案中的任何一个都不满意。有什么建议我应该怎么做?
编辑:我进行了很多测试并考虑了我的问题,并发现我最大的问题是“多选”。所以我放弃了它并将标签实现为字符串/枚举。