我有一个模型项及其对应的表项和字段(field1,field2等)。
我有另一个模型,评论,还有它的表格和字段。其中一个字段是 item_rating ,其中用户输入0到10之间的数字来评价该项目。
这两个模型都与项目 hasMany 评论以及评论 belongsTo 相关的档案
在视图中对项目模型进行分页时,我想添加字段 item_rating 及其自己的字段,以便用户可以看到该项目的平均评分并且能够按 item_rating 排序,除了直接属于项目的所有其他字段。
要做到这一点,我认为我需要两件事:
这可能吗?谁能指出我如何完成它的正确方向?或者我应该只在我的项表中添加真实的 item_rating 字段,并在每次用户添加新评级时更新平均值?
提前非常感谢!
答案 0 :(得分:1)
对我来说,最好的方法是在父表中使用真实字段。以下是您可以用于实现目的的行为:Aggregatable behaviour
编辑:
您可以自己执行此类功能。只需在父表中创建一个将保持平均评级的字段。然后在评级模型中的afterSave()上添加用父表格中的该字段填充平均值的功能。