【发布时间】:2012-04-14 02:15:09
【问题描述】:
我想知道如何设计这个最好,所以我不重新发明轮子
我有一个评级实体:
/**
* Type of the read of this comment,for example quality
*
* @ORM\Column(type="string")
*/
protected $type;
/** @ORM\Column(type="datetime") */
protected $created;
/** @ORM\Column(type="integer") */
protected $thread;
/**
*
*
* @ORM\ManyToOne(targetEntity="User")
*/
private $user;
/**
* @ORM\Column(type="decimal", scale=2)
*/
protected $value;
其中 type 是分级的类型,例如共享视频的“file.quality”或“file.story”。
现在我想打开视频的详细信息页面,并显示总评分(作为所有用户的平均值......还有评分,与用户无关,但来自其他地方。 ...像 IMDB(互联网电影数据库)评级。
我正在考虑添加一个CompleteRating 实体,每当用户向Rating 实体添加新投票时,我都会在其中保存平均评分并直接更新它。也许通过 symfony2 中的监听器类。
这是最好的设计方式吗?你会如何处理这个最好的?
【问题讨论】:
标签: mysql design-patterns symfony doctrine-orm