【发布时间】:2011-08-14 05:48:36
【问题描述】:
我需要创建一个投票系统。
即使投票不同,也可能适用于两个实体(目前,但可能不会有太大变化)。
这两个实体是文章和评论,但是 cmets 只能被投票(很像 SO 与答案和 cmets 一起使用)。
虽然为了避免 DRY 原则,我可以使用 Vote 实体,然后为文章和评论添加关系表,但我的“投票”更像是“我喜欢”和“我不喜欢” " 我需要计算一下,它不像 "+1 和/或 -1" 所以我不确定它是否可以同时应用于文章和评论。
关于如何设计这样的系统有什么想法吗?
顺便说一句,我正在使用 Doctrine 2 和 Zend Framework。
【问题讨论】:
-
我只需为表中的每个喜欢的项目添加一列,并给它一个起始“喜欢”分数
0。然后随心所欲地增加/减少。 -
@Blender:你需要追踪谁投票。
-
@Blender:我注意到 SO 上的人有时会在 cmets 中给出答案。你的想法是什么?我只是想适应 SO 文化。
-
@SLaks,然后为每个用户添加一个新列,并添加投票元素的 ID。 @k to the z,我这样做是因为我没有 Zend 或类似的经验。
-
@Blender:你需要一个单独的表格。
标签: php database database-design doctrine-orm